diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt
index 9d11b7289e4d2ae40da9f66e0e974a156e780fac..94c6ee84fdc94cd441fda789b21d8d7662b6f22c 100644
--- a/doc/src/fix_neb.txt
+++ b/doc/src/fix_neb.txt
@@ -10,68 +10,156 @@ fix neb command :h3
 
 [Syntax:]
 
-fix ID group-ID neb Kspring :pre
-
-ID, group-ID are documented in "fix"_fix.html command
-neb = style name of this fix command
-Kspring = inter-replica spring constant (force/distance units) :ul
+fix ID group-ID neb Kspring keyword value :pre
+
+ID, group-ID are documented in "fix"_fix.html command :ulb,l
+neb = style name of this fix command :l
+Kspring = parallel spring constant (force/distance units or force units) :l
+zero or more keyword/value pairs may be appended :l
+keyword = {nudg_style} or {perp} or {freend} or {freend_k_spring} :l
+  {nudg_style} value = {neigh} or {idealpos}
+    {neigh} = the parallel nudging force is calculated from the distances to neighbouring replicas (in this case, Kspring is in force/distance units)
+    {idealpos} = the parallel nudging force is proportional to the distance between the replica and its interpolated ideal position (in this case Kspring is in force units)
+  {perp} value {none} or kspring2
+    {none} = no perpendicular spring force is applied
+    {kspring2} = spring constant for the perpendicular nudging force (in force/distance units)
+  {freeend} value = {none} or {ini} or {final} or {finaleini} or {final2eini}
+    {none} = no nudging force is applied to the first and last replicas
+    {ini} = set the first replica to be a free end 
+    {final} = set the last replica to be a free end
+    {finaleini} = set the last replica to be a free end and set its target energy as that of the first replica
+    {final2eini} = same as {finaleini} plus prevent intermediate replicas to have a lower energy than the first replica
+  {freeend_kspring}  value = kspring3
+    kspring3 = spring constant of the perpendicular spring force (per distance units)    
+   :pre
 
 [Examples:]
 
-fix 1 active neb 10.0 :pre
+fix 1 active neb 10.0
+fix 2 all neb 1.0 perp 1.0 freeend final
+fix 1 all neb 1.0 nudg_style idealpos freeend final2eini freend_kspring 1:pre
 
 [Description:]
 
-Add inter-replica forces to atoms in the group for a multi-replica
+Add a nudging force to atoms in the group for a multi-replica
 simulation run via the "neb"_neb.html command to perform a nudged
-elastic band (NEB) calculation for transition state finding.  Hi-level
-explanations of NEB are given with the "neb"_neb.html command and in
-"Section 6.5"_Section_howto.html#howto_5 of the manual.  The fix
-neb command must be used with the "neb" command to define how
-inter-replica forces are computed.
-
-Only the N atoms in the fix group experience inter-replica forces.
-Atoms in the two end-point replicas do not experience these forces,
-but those in intermediate replicas do.  During the initial stage of
-NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting
-on the atoms of each intermediate replica I is altered, as described
-in the "(Henkelman1)"_#Henkelman1 paper, to become:
-
-Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (| Ri+i - Ri | - | Ri - Ri-1 |) That :pre
-
-Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the
-coordinates of its neighbor replicas.  That (t with a hat over it) is
-the unit "tangent" vector for replica I which is a function of Ri,
-Ri-1, Ri+1, and the potential energy of the 3 replicas; it points
-roughly in the direction of (Ri+i - Ri-1); see the
-"(Henkelman1)"_#Henkelman1 paper for details.
-
-The first two terms in the above equation are the component of the
-interatomic forces perpendicular to the tangent vector.  The last term
-is a spring force between replica I and its neighbors, parallel to the
-tangent vector direction with the specified spring constant {Kspring}.
-
-The effect of the first two terms is to push the atoms of each replica
-toward the minimum energy path (MEP) of conformational states that
-transition over the energy barrier.  The MEP for an energy barrier is
-defined as a sequence of 3N-dimensional states which cross the barrier
-at its saddle point, each of which has a potential energy gradient
-parallel to the MEP itself.
-
-The effect of the last term is to push each replica away from its two
-neighbors in a direction along the MEP, so that the final set of
-states are equidistant from each other.
-
-During the second stage of NEB, the forces on the N atoms in the
-replica nearest the top of the energy barrier are altered so that it
-climbs to the top of the barrier and finds the saddle point.  The
-forces on atoms in this replica are described in the
-"(Henkelman2)"_#Henkelman2 paper, and become:
+elastic band (NEB) calculation for finding the transition state.
+Hi-level explanations of NEB are given with the "neb"_neb.html command
+and in "Section_howto 5"_Section_howto.html#howto_5 of the manual.
+The fix neb command must be used with the "neb" command and defines
+how nudging inter-replica forces are computed.  A NEB calculation is
+divided in two stages. In the first stage n replicas are relaxed
+toward a MEP and in a second stage, the climbing image scheme (see
+"(Henkelman2)"_#Henkelman2) is turned on so that the replica having
+the highest energy relaxes toward the saddle point (i.e. the point of
+highest energy along the MEP).
+
+One purpose of the nudging forces is to keep the replicas equally
+spaced.  During the NEB, the 3N-length vector of interatomic force Fi
+= -Grad(V) of replicas i is altered. For all intermediate replicas
+(i.e. for 1<i<n) but the climbing replica the force vector
+becomes:
+
+Fi = -Grad(V) + (Grad(V) dot That) That + Fnudgparallel + Fspringperp :pre
+
+That is the unit "tangent" vector for replica i and is a function of
+Ri, Ri-1, Ri+1, and the potential energy of the 3 replicas; it points
+roughly in the direction of (Ri+i - Ri-1) (see the
+"(Henkelman1)"_#Henkelman1 paper for details).  Ri are the atomic
+coordinates of replica i; Ri-1 and Ri+1 are the coordinates of its
+neighbor replicas.  The term (Grad(V) dot That) is used to remove the
+component of the gradient parallel to the path which would tend to
+distribute the replica unevenly along the path.  Fnudgparallel is an
+artificial nudging force which is applied only in the tangent direction
+and which maintains the replicas equally spaced (see below for more
+information).  Fspringperp is an optinal artificial spring which is
+applied only perpendicular to the tangent and which prevent the paths
+from forming too acute kinks (see below for more information).
+
+The keyword {nudg_style} allow to specify how to parallel
+nudging force is computed. With a value of idealpos, the spring 
+force is computed as suggested in "(E)"_#E :
+   
+Fnudgparallel=-{Kspring}* (RD-RDideal)/(2 meanDist) :pre
+
+where RD is the "reaction coordinate" see "neb"_neb.html section, and
+RDideal is the ideal RD for which all the images are equally spaced
+(i.e. RDideal = (i-1)*meanDist when the climbing image is off, where i
+is the replica number). The meanDist is the average distance between
+replicas.
+
+When {nudg_style} has a value of neigh (or by default), the parallel 
+nudging force is computed as in "(Henkelman1)"_#Henkelman1 by 
+connecting each intermediate replica with the previous and the next 
+image:
+
+Fnudgparallel= {Kspring}* (|Ri+1 - Ri| - |Ri - Ri-1|) :pre
+
+The parallel nudging force associated with the key word idealpos should
+usually be more efficient at keeping the images equally spaced.
+
+:line
+
+The keyword {perp} allows to add a spring force perpendicular to the
+path in order to prevent the path from becoming too kinky. It can
+improve significantly the convergence of the NEB when the resolution
+is poor (i.e. when too few images are used) (see "(Maras)"_#Maras1).
+The perpendicular spring force is given by
+
+Fspringperp = {Kspringperp} * f(Ri-1,Ri,Ri+1) (Ri+1 + Ri-1 - 2 Ri) :pre
+
+f(Ri-1 Ri R+1) is a smooth scalar function of the angle Ri-1 Ri
+Ri+1. It is equal to 0 when the path is straight and is equal to 1
+when the angle Ri-1 Ri Ri+1 is accute. f(Ri-1 Ri R+1) is defined in
+"(Jonsson)"_#Jonsson
+
+:line
+
+By default, the force acting on the first and last replicas is not
+altered so that during the NEB relaxation, these ending replicas relax
+toward local minima. However it is possible to use the key word
+{freeend} to allow either the initial or the final replica to relax
+toward a MEP while constraining its energy.  The interatomic force Fi
+for the free end image becomes :
+
+Fi = -Grad(V)+ (Grad(V) dot That + (E-ETarget)*kspring3) That,  {when} Grad(V) dot That < 0
+Fi = -Grad(V)+ (Grad(V) dot That + (ETarget- E)*kspring3) That, {when} Grad(V) dot That > 0
+:pre
+
+where E is the energy of the free end replica and ETarget is the
+target energy.
+
+When the value {ini} ({final}) is used after the keyword {freeend},
+the first (last) replica is considered as a free end. The target
+energy is set to the energy of the replica at starting of the NEB
+calculation. When the value {finaleini} or {final2eini} is used the
+last image is considered as a free end and the target energy is equal
+to the energy of the first replica (which can evolve during the NEB
+relaxation).  With the value {finaleini}, when the initial path is too
+far from the MEP, an intermediate repilica might relax "faster" and
+get a lower energy than the last replica. The benefit of the free end
+is then lost since this intermediate replica will relax toward a local
+minima. This behavior can be prevented by using the value {final2eini}
+which remove entirely the contribution of the gradient for all
+intermediate replica which have a lower energy than the initial one
+thus preventing these replicae to over-relax.  After converging a NEB
+with the {final2eini} value it is recommended to check that all
+intermediate replica have a larger energy than the initial
+replica. Finally note that if the last replica converges toward a
+local minimum with a larger energy than the energy of the first
+replica, a free end neb calculation with the value {finaleini} or
+{final2eini} cannot reach the convergence criteria.
+
+:line
+
+
+
+In the second stage of the NEB, the interatomic force Fi for the
+climbing replica (which is the replica of highest energy) becomes:
 
 Fi = -Grad(V) + 2 (Grad(V) dot That) That :pre
 
-The inter-replica forces for the other replicas are unchanged from the
-first equation.
+
 
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
@@ -96,7 +184,11 @@ for more info on packages.
 
 "neb"_neb.html
 
-[Default:] none
+[Default:]
+
+The option defaults are nudg_style = neigh, perp = none, freeend = none and freend_kspring = 1.
+
+:line
 
 :link(Henkelman1)
 [(Henkelman1)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
@@ -104,3 +196,15 @@ for more info on packages.
 :link(Henkelman2)
 [(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
 9901-9904 (2000).
+
+:link(E)
+[(E)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002)
+
+:link(Jonsson)
+[(Jonsson)] Jonsson, Mills and Jacobsen, in Classical and Quantum
+Dynamics in Condensed Phase Simulations, edited by Berne, Ciccotti, and Coker
+World Scientific, Singapore, 1998, p. 385
+
+:link(Maras1)
+[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson,
+Comp Phys Comm, 205, 13-21 (2016)
diff --git a/doc/src/neb.txt b/doc/src/neb.txt
index 3a62a77a6e372c48ddf50fa0f97940660741b814..a4afc2fe6d529e4efa4507e141ec5ef769775acc 100644
--- a/doc/src/neb.txt
+++ b/doc/src/neb.txt
@@ -10,28 +10,31 @@ neb command :h3
 
 [Syntax:]
 
-neb etol ftol N1 N2 Nevery file-style arg :pre
+neb etol ftol N1 N2 Nevery file-style arg keyword :pre
 
 etol = stopping tolerance for energy (energy units) :ulb,l
 ftol = stopping tolerance for force (force units) :l
 N1 = max # of iterations (timesteps) to run initial NEB :l
 N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l
 Nevery = print replica energies and reaction coordinates every this many timesteps :l
-file-style= {final} or {each} or {none} :l
+file-style = {final} or {each} or {none} :l
   {final} arg = filename
     filename = file with initial coords for final replica
-      coords for intermediate replicas are linearly interpolated between first and last replica
+      coords for intermediate replicas are linearly interpolated
+      between first and last replica
   {each} arg = filename
-    filename = unique filename for each replica (except first) with its initial coords
-  {none} arg = no argument
-    all replicas assumed to already have their initial coords :pre
+    filename = unique filename for each replica (except first)
+      with its initial coords
+  {none} arg = no argument all replicas assumed to already have
+      their initial coords :pre
+keyword = {verbose}
 :ule
 
 [Examples:]
 
 neb 0.1 0.0 1000 500 50 final coords.final
 neb 0.0 0.001 1000 500 50 each coords.initial.$i
-neb 0.0 0.001 1000 500 50 none :pre
+neb 0.0 0.001 1000 500 50 none verbose :pre
 
 [Description:]
 
@@ -43,8 +46,8 @@ NEB is a method for finding both the atomic configurations and height
 of the energy barrier associated with a transition state, e.g. for an
 atom to perform a diffusive hop from one energy basin to another in a
 coordinated fashion with its neighbors.  The implementation in LAMMPS
-follows the discussion in these 3 papers: "(HenkelmanA)"_#HenkelmanA,
-"(HenkelmanB)"_#HenkelmanB, and "(Nakano)"_#Nakano3.
+follows the discussion in these 4 papers: "(HenkelmanA)"_#HenkelmanA,
+"(HenkelmanB)"_#HenkelmanB, "(Nakano)"_#Nakano3 and "(Maras)"_#Maras2.
 
 Each replica runs on a partition of one or more processors.  Processor
 partitions are defined at run-time using the -partition command-line
@@ -70,18 +73,17 @@ I.e. the simulation domain, the number of atoms, the interaction
 potentials, and the starting configuration when the neb command is
 issued should be the same for every replica.
 
-In a NEB calculation each atom in a replica is connected to the same
-atom in adjacent replicas by springs, which induce inter-replica
-forces.  These forces are imposed by the "fix neb"_fix_neb.html
-command, which must be used in conjunction with the neb command.  The
-group used to define the fix neb command defines the NEB atoms which
-are the only ones that inter-replica springs are applied to.  If the
-group does not include all atoms, then non-NEB atoms have no
-inter-replica springs and the forces they feel and their motion is
-computed in the usual way due only to other atoms within their
-replica.  Conceptually, the non-NEB atoms provide a background force
-field for the NEB atoms.  They can be allowed to move during the NEB
-minimization procedure (which will typically induce different
+In a NEB calculation each replica is connected to other replicas by
+inter-replica nudging forces.  These forces are imposed by the "fix
+neb"_fix_neb.html command, which must be used in conjunction with the
+neb command.  The group used to define the fix neb command defines the
+NEB atoms which are the only ones that inter-replica springs are
+applied to.  If the group does not include all atoms, then non-NEB
+atoms have no inter-replica springs and the forces they feel and their
+motion is computed in the usual way due only to other atoms within
+their replica.  Conceptually, the non-NEB atoms provide a background
+force field for the NEB atoms.  They can be allowed to move during the
+NEB minimization procedure (which will typically induce different
 coordinates for non-NEB atoms in different replicas), or held fixed
 using other LAMMPS commands such as "fix setforce"_fix_setforce.html.
 Note that the "partition"_partition.html command can be used to invoke
@@ -93,33 +95,18 @@ specified in different manners via the {file-style} setting, as
 discussed below.  Only atoms whose initial coordinates should differ
 from the current configuration need be specified.
 
-Conceptually, the initial configuration for the first replica should
-be a state with all the atoms (NEB and non-NEB) having coordinates on
-one side of the energy barrier.  A perfect energy minimum is not
-required, since atoms in the first replica experience no spring forces
-from the 2nd replica.  Thus the damped dynamics minimization will
-drive the first replica to an energy minimum if it is not already
-there.  However, you will typically get better convergence if the
-initial state is already at a minimum.  For example, for a system with
-a free surface, the surface should be fully relaxed before attempting
-a NEB calculation.
-
-Likewise, the initial configuration of the final replica should be a
-state with all the atoms (NEB and non-NEB) on the other side of the
-energy barrier.  Again, a perfect energy minimum is not required,
-since the atoms in the last replica also experience no spring forces
-from the next-to-last replica, and thus the damped dynamics
-minimization will drive it to an energy minimum.
+Conceptually, the initial and final configurations for the first
+replica should be states on either side of an energy barrier.
 
 As explained below, the initial configurations of intermediate
 replicas can be atomic coordinates interpolated in a linear fashion
-between the first and last replicas.  This is often adequate state for
+between the first and last replicas.  This is often adequate for
 simple transitions.  For more complex transitions, it may lead to slow
 convergence or even bad results if the minimum energy path (MEP, see
 below) of states over the barrier cannot be correctly converged to
-from such an initial configuration.  In this case, you will want to
-generate initial states for the intermediate replicas that are
-geometrically closer to the MEP and read them in.
+from such an initial path.  In this case, you will want to generate
+initial states for the intermediate replicas that are geometrically
+closer to the MEP and read them in.
 
 :line
 
@@ -135,10 +122,11 @@ is assigned to be a fraction of the distance.  E.g. if there are 10
 replicas, the 2nd replica will assign a position that is 10% of the
 distance along a line between the starting and final point, and the
 9th replica will assign a position that is 90% of the distance along
-the line.  Note that this procedure to produce consistent coordinates
-across all the replicas, the current coordinates need to be the same
-in all replicas.  LAMMPS does not check for this, but invalid initial
-configurations will likely result if it is not the case.
+the line.  Note that for this procedure to produce consistent
+coordinates across all the replicas, the current coordinates need to
+be the same in all replicas.  LAMMPS does not check for this, but
+invalid initial configurations will likely result if it is not the
+case.
 
 NOTE: The "distance" between the starting and final point is
 calculated in a minimum-image sense for a periodic simulation box.
@@ -150,8 +138,8 @@ 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
-assumed to be unique to each replica.  This can be done by
-using a variable in the filename, e.g.
+assumed to be unique to each replica.  This can be done by using a
+variable in the filename, e.g.
 
 variable i equal part
 neb 0.0 0.001 1000 500 50 each coords.initial.$i :pre
@@ -198,11 +186,10 @@ The minimizer tolerances for energy and force are set by {etol} and
 A non-zero {etol} means that the NEB calculation will terminate if the
 energy criterion is met by every replica.  The energies being compared
 to {etol} do not include any contribution from the inter-replica
-forces, since these are non-conservative.  A non-zero {ftol} means
-that the NEB calculation will terminate if the force criterion is met
-by every replica.  The forces being compared to {ftol} include the
-inter-replica forces between an atom and its images in adjacent
-replicas.
+nudging forces, since these are non-conservative.  A non-zero {ftol}
+means that the NEB calculation will terminate if the force criterion
+is met by every replica.  The forces being compared to {ftol} include
+the inter-replica nudging forces.
 
 The maximum number of iterations in each stage is set by {N1} and
 {N2}.  These are effectively timestep counts since each iteration of
@@ -220,27 +207,27 @@ finding a good energy barrier.  {N1} and {N2} must both be multiples
 of {Nevery}.
 
 In the first stage of NEB, the set of replicas should converge toward
-the minimum energy path (MEP) of conformational states that transition
-over the barrier.  The MEP for a barrier is defined as a sequence of
-3N-dimensional states that cross the barrier at its saddle point, each
-of which has a potential energy gradient parallel to the MEP itself.
-The replica states will also be roughly equally spaced along the MEP
-due to the inter-replica spring force added by the "fix
-neb"_fix_neb.html command.
-
-In the second stage of NEB, the replica with the highest energy
-is selected and the inter-replica forces on it are converted to a
-force that drives its atom coordinates to the top or saddle point of
-the barrier, via the barrier-climbing calculation described in
+a minimum energy path (MEP) of conformational states that transition
+over a barrier.  The MEP for a transition is defined as a sequence of
+3N-dimensional states, each of which has a potential energy gradient
+parallel to the MEP itself.  The configuration of highest energy along
+a MEP corresponds to a saddle point.  The replica states will also be
+roughly equally spaced along the MEP due to the inter-replica nugding
+force added by the "fix neb"_fix_neb.html command.
+
+In the second stage of NEB, the replica with the highest energy is
+selected and the inter-replica forces on it are converted to a force
+that drives its atom coordinates to the top or saddle point of the
+barrier, via the barrier-climbing calculation described in
 "(HenkelmanB)"_#HenkelmanB.  As before, the other replicas rearrange
 themselves along the MEP so as to be roughly equally spaced.
 
 When both stages are complete, if the NEB calculation was successful,
-one of the replicas should be an atomic configuration at the top or
-saddle point of the barrier, the potential energies for the set of
-replicas should represent the energy profile of the barrier along the
-MEP, and the configurations of the replicas should be a sequence of
-configurations along the MEP.
+the configurations of the replicas should be along (close to) the MEP
+and the replica with the highest energy should be an atomic
+configuration at (close to) the saddle point of the transition. The
+potential energies for the set of replicas represents the energy
+profile of the transition along the MEP.
 
 :line
 
@@ -284,9 +271,9 @@ ID2 x2 y2 z2
 ...
 IDN xN yN zN :pre
 
-The fields are the atom ID, followed by the x,y,z coordinates.
-The lines can be listed in any order.  Additional trailing information
-on the line is OK, such as a comment.
+The fields are the atom ID, followed by the x,y,z coordinates.  The
+lines can be listed in any order.  Additional trailing information on
+the line is OK, such as a comment.
 
 Note that for a typical NEB calculation you do not need to specify
 initial coordinates for very many atoms to produce differing starting
@@ -310,38 +297,54 @@ this case), the print-out to the screen and master log.lammps file
 contains a line of output, printed once every {Nevery} timesteps.  It
 contains the timestep, the maximum force per replica, the maximum
 force per atom (in any replica), potential gradients in the initial,
-final, and climbing replicas, the forward and backward energy barriers,
-the total reaction coordinate (RDT), and the normalized reaction
-coordinate and potential energy of each replica.
-
-The "maximum force per replica" is
-the two-norm of the 3N-length force vector for the atoms in each
-replica, maximized across replicas, which is what the {ftol} setting
-is checking against.  In this case, N is all the atoms in each
-replica.  The "maximum force per atom" is the maximum force component
-of any atom in any replica.  The potential gradients are the two-norm
-of the 3N-length force vector solely due to the interaction potential i.e.
-without adding in inter-replica forces. Note that inter-replica forces
-are zero in the initial and final replicas, and only affect
-the direction in the climbing replica. For this reason, the "maximum
-force per replica" is often equal to the potential gradient in the
-climbing replica. In the first stage of NEB, there is no climbing
-replica, and so the potential gradient in the highest energy replica
-is reported, since this replica will become the climbing replica
-in the second stage of NEB.
-
-The "reaction coordinate" (RD) for each
-replica is the two-norm of the 3N-length vector of distances between
-its atoms and the preceding replica's atoms, added to the RD of the
-preceding replica. The RD of the first replica RD1 = 0.0;
-the RD of the final replica RDN = RDT, the total reaction coordinate.
-The normalized RDs are divided by RDT,
-so that they form a monotonically increasing sequence
-from zero to one. When computing RD, N only includes the atoms
-being operated on by the fix neb command.
-
-The forward (reverse) energy barrier is the potential energy of the highest
-replica minus the energy of the first (last) replica.
+final, and climbing replicas, the forward and backward energy
+barriers, the total reaction coordinate (RDT), and the normalized
+reaction coordinate and potential energy of each replica.
+
+The "maximum force per replica" is the two-norm of the 3N-length force
+vector for the atoms in each replica, maximized across replicas, which
+is what the {ftol} setting is checking against.  In this case, N is
+all the atoms in each replica.  The "maximum force per atom" is the
+maximum force component of any atom in any replica.  The potential
+gradients are the two-norm of the 3N-length force vector solely due to
+the interaction potential i.e.  without adding in inter-replica
+forces.
+
+The "reaction coordinate" (RD) for each replica is the two-norm of the
+3N-length vector of distances between its atoms and the preceding
+replica's atoms, added to the RD of the preceding replica. The RD of
+the first replica RD1 = 0.0; the RD of the final replica RDN = RDT,
+the total reaction coordinate.  The normalized RDs are divided by RDT,
+so that they form a monotonically increasing sequence from zero to
+one. When computing RD, N only includes the atoms being operated on by
+the fix neb command.
+
+The forward (reverse) energy barrier is the potential energy of the
+highest replica minus the energy of the first (last) replica.
+
+Supplementary informations for all replicas can be printed out to the
+screen and master log.lammps file by adding the verbose keyword. These
+informations include the following.  The "path angle" (pathangle) for
+the replica i which is the angle between the 3N-length vectors (Ri-1 -
+Ri) and (Ri+1 - Ri) (where Ri is the atomic coordinates of replica
+i). A "path angle" of 180 indicates that replicas i-1, i and i+1 are
+aligned.  "angletangrad" is the angle between the 3N-length tangent
+vector and the 3N-length force vector at image i. The tangent vector
+is calculated as in "(HenkelmanA)"_#HenkelmanA for all intermediate
+replicas and at R2 - R1 and RM - RM-1 for the first and last replica,
+respectively.  "anglegrad" is the angle between the 3N-length energy
+gradient vector of replica i and that of replica i+1. It is not
+defined for the final replica and reads nan.  gradV is the norm of the
+energy gradient of image i.  ReplicaForce is the two-norm of the
+3N-length force vector (including nudging forces) for replica i.
+MaxAtomForce is the maximum force component of any atom in replica i.
+
+When a NEB calculation does not converge properly, these suplementary
+informations can help understanding what is going wrong. For instance
+when the path angle becomes accute the definition of tangent used in
+the NEB calculation is questionable and the NEB cannot may diverge
+"(Maras)"_#Maras2.
+ 
 
 When running on multiple partitions, LAMMPS produces additional log
 files for each partition, e.g. log.lammps.0, log.lammps.1, etc.  For a
@@ -396,12 +399,16 @@ This command can only be used if LAMMPS was built with the REPLICA
 package.  See the "Making LAMMPS"_Section_start.html#start_3 section
 for more info on packages.
 
+:line
+
 [Related commands:]
 
-"prd"_prd.html, "temper"_temper.html, "fix
-langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html
+"prd"_prd.html, "temper"_temper.html, "fix langevin"_fix_langevin.html,
+"fix viscous"_fix_viscous.html
 
-[Default:] none
+[Default:]
+
+none
 
 :line
 
@@ -414,3 +421,7 @@ langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html
 
 :link(Nakano3)
 [(Nakano)] Nakano, Comp Phys Comm, 178, 280-289 (2008).
+
+:link(Maras2)
+[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson,
+Comp Phys Comm, 205, 13-21 (2016)
diff --git a/examples/neb/README b/examples/neb/README
index 130d0fd2e34cf27105913c1bcef37f0bdec1eef8..0993c5fcdb61732abb0d3313050ee5d489ba7ee5 100644
--- a/examples/neb/README
+++ b/examples/neb/README
@@ -2,13 +2,19 @@ Run these examples as:
 
 mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.hop1
 mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.hop2
+mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.hop1freeend
 mpirun -np 3 lmp_g++ -partition 3x1 -in in.neb.sivac
 
 mpirun -np 8 lmp_g++ -partition 4x2 -in in.neb.hop1
 mpirun -np 8 lmp_g++ -partition 4x2 -in in.neb.hop2
+mpirun -np 8 lmp_g++ -partition 4x2 -in in.neb.hop1freeend
 mpirun -np 6 lmp_g++ -partition 3x2 -in in.neb.sivac
 mpirun -np 9 lmp_g++ -partition 3x3 -in in.neb.sivac
 
+
+Note that more than 4 replicas should be used for a precise estimate 
+of the activation energy corresponding to a transition.
+
 If you uncomment the dump command lines in the input scripts, you can
 create dump files to do visualization from via Python tools: (see
 lammps/tools/README and lammps/tools/python/README for more info on
diff --git a/examples/neb/in.neb.hop1 b/examples/neb/in.neb.hop1
index 9a3d7579f3b5709bf24f45867eb9d98d88fb7a0c..b874d1ba32e93e2724d8b70e710fb114be283fde 100644
--- a/examples/neb/in.neb.hop1
+++ b/examples/neb/in.neb.hop1
@@ -51,7 +51,7 @@ set		group nebatoms type 3
 group		nonneb subtract all nebatoms
 
 fix		1 lower setforce 0.0 0.0 0.0
-fix		2 nebatoms neb 1.0
+fix		2 nebatoms neb 1.0 nudg_style idealpos
 fix		3 all enforce2d
 
 thermo		100
diff --git a/examples/neb/in.neb.hop1freeend b/examples/neb/in.neb.hop1freeend
new file mode 100644
index 0000000000000000000000000000000000000000..fa90e9a98c2faac7889eee56fd4ef54309275142
--- /dev/null
+++ b/examples/neb/in.neb.hop1freeend
@@ -0,0 +1,56 @@
+# 2d NEB surface simulation, hop from surface to become adatom
+
+dimension	2
+boundary	p s p
+
+atom_style	atomic
+neighbor	0.3 bin
+neigh_modify	delay 5
+atom_modify	map array sort 0 0.0
+
+variable	u uloop 20
+
+# create geometry with flat surface
+
+lattice		hex 0.9
+region		box block 0 20 0 10 -0.25 0.25
+
+read_data        initial.hop1freeend
+
+# LJ potentials
+
+pair_style	lj/cut 2.5
+pair_coeff	* * 1.0 1.0 2.5
+pair_modify	shift yes
+
+# define groups
+
+region	        1 block INF INF INF 1.25 INF INF
+group		lower region 1
+group		mobile subtract all lower
+set		group lower type 2
+
+timestep	0.05
+
+# group of NEB atoms - either block or single atom ID 412
+
+region		surround block 10 18 17 20 0 0 units box
+group		nebatoms region surround
+#group		nebatoms id 412
+set		group nebatoms type 3
+group		nonneb subtract all nebatoms
+
+fix		1 lower setforce 0.0 0.0 0.0
+fix		2 nebatoms neb 1.0 nudg_style idealpos freeend ini
+fix		3 all enforce2d
+
+thermo		100
+
+#dump		1 nebatoms atom 10 dump.neb.$u
+#dump		2 nonneb atom 10 dump.nonneb.$u
+
+# run NEB for 2000 steps or to force tolerance
+
+min_style	quickmin
+
+neb		0.0 0.1 1000 1000 100 final final.hop1
diff --git a/examples/neb/in.neb.hop2 b/examples/neb/in.neb.hop2
index 3eb16248e19676bd5f0db3786908a5feaa2d5450..242de759fa44a994ae55d8d480827191710393fb 100644
--- a/examples/neb/in.neb.hop2
+++ b/examples/neb/in.neb.hop2
@@ -53,7 +53,7 @@ set		group nebatoms type 3
 group		nonneb subtract all nebatoms
 
 fix		1 lower setforce 0.0 0.0 0.0
-fix		2 nebatoms neb 1.0
+fix		2 nebatoms neb 1.0 
 fix		3 all enforce2d
 
 thermo		100
diff --git a/examples/neb/in.neb.sivac b/examples/neb/in.neb.sivac
index 566a38062700ad58ee693e18a46069f984a09a6f..941d063b90e60a6b58b9ea1d4247de533fa80615 100644
--- a/examples/neb/in.neb.sivac
+++ b/examples/neb/in.neb.sivac
@@ -66,7 +66,7 @@ minimize	1.0e-6 1.0e-4 1000 10000
 
 reset_timestep	0
 
-fix		1 all neb 1.0
+fix		1 all neb 1.0 
 
 thermo		100
 
diff --git a/examples/neb/initial.hop1freeend b/examples/neb/initial.hop1freeend
new file mode 100644
index 0000000000000000000000000000000000000000..0357431fda071fa4a50dd58b71ec2ff1fca8d83c
--- /dev/null
+++ b/examples/neb/initial.hop1freeend
@@ -0,0 +1,860 @@
+LAMMPS data file via write_data, version 4 May 2017, timestep = 155
+
+420 atoms
+3 atom types
+
+0.0000000000000000e+00 2.2653923264628304e+01 xlo xhi
+2.1918578738841410e-01 1.9932852254455714e+01 ylo yhi
+-2.8317404080785380e-01 2.8317404080785380e-01 zlo zhi
+
+Masses
+
+1 1
+2 1
+3 1
+
+Atoms # atomic
+
+1 2 0.0000000000000000e+00 2.2114806707013038e-01 0.0000000000000000e+00 0 0 0
+2 2 5.6634808161570760e-01 1.1832938184587634e+00 0.0000000000000000e+00 0 0 0
+3 2 1.1326961632314152e+00 2.2114806707013018e-01 0.0000000000000000e+00 0 0 0
+4 2 1.6990442448471228e+00 1.1832938184587634e+00 0.0000000000000000e+00 0 0 0
+5 2 2.2653923264628304e+00 2.2114806707013032e-01 0.0000000000000000e+00 0 0 0
+6 2 2.8317404080785380e+00 1.1832938184587634e+00 0.0000000000000000e+00 0 0 0
+7 2 3.3980884896942456e+00 2.2114806707013024e-01 0.0000000000000000e+00 0 0 0
+8 2 3.9644365713099532e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+9 2 4.5307846529256608e+00 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+10 2 5.0971327345413684e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+11 2 5.6634808161570760e+00 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+12 2 6.2298288977727836e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+13 2 6.7961769793884912e+00 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+14 2 7.3625250610041988e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+15 2 7.9288731426199064e+00 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+16 2 8.4952212242356140e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+17 2 9.0615693058513216e+00 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+18 2 9.6279173874670292e+00 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+19 2 1.0194265469082737e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+20 2 1.0760613550698444e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+21 2 1.1326961632314152e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+22 2 1.1893309713929860e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+23 2 1.2459657795545567e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+24 2 1.3026005877161275e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+25 2 1.3592353958776982e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+26 2 1.4158702040392690e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+27 2 1.4725050122008398e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+28 2 1.5291398203624105e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+29 2 1.5857746285239813e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+30 2 1.6424094366855520e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+31 2 1.6990442448471228e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+32 2 1.7556790530086936e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+33 2 1.8123138611702643e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+34 2 1.8689486693318351e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+35 2 1.9255834774934058e+01 2.2114806707013010e-01 0.0000000000000000e+00 0 0 0
+36 2 1.9822182856549766e+01 1.1832938184587636e+00 0.0000000000000000e+00 0 0 0
+37 2 2.0388530938165474e+01 2.2114806707013024e-01 0.0000000000000000e+00 0 0 0
+38 2 2.0954879019781181e+01 1.1832938184587634e+00 0.0000000000000000e+00 0 0 0
+39 2 2.1521227101396889e+01 2.2114806707013043e-01 0.0000000000000000e+00 0 0 0
+40 2 2.2087575183012596e+01 1.1832938184587634e+00 0.0000000000000000e+00 0 0 0
+41 2 5.5197595012095140e-17 2.1414943053865136e+00 0.0000000000000000e+00 0 0 0
+42 1 5.6653050195082300e-01 3.1000166664180786e+00 0.0000000000000000e+00 0 0 0
+43 2 1.1326961632314152e+00 2.1414943053865136e+00 0.0000000000000000e+00 0 0 0
+44 1 1.6992713312703549e+00 3.1000339212153092e+00 0.0000000000000000e+00 0 0 0
+45 2 2.2653923264628304e+00 2.1414943053865136e+00 0.0000000000000000e+00 0 0 0
+46 1 2.8319979330663916e+00 3.1000568858502824e+00 0.0000000000000000e+00 0 0 0
+47 2 3.3980884896942456e+00 2.1414943053865136e+00 0.0000000000000000e+00 0 0 0
+48 1 3.9647072056144004e+00 3.1000829051868171e+00 0.0000000000000000e+00 0 0 0
+49 2 4.5307846529256608e+00 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+50 1 5.0973978903306154e+00 3.1001089282984520e+00 0.0000000000000000e+00 0 0 0
+51 2 5.6634808161570760e+00 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+52 1 6.2300706856774344e+00 3.1001320005511488e+00 0.0000000000000000e+00 0 0 0
+53 2 6.7961769793884912e+00 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+54 1 7.3627281418365298e+00 3.1001497026412643e+00 0.0000000000000000e+00 0 0 0
+55 2 7.9288731426199064e+00 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+56 1 8.4953743353575657e+00 3.1001604410839558e+00 0.0000000000000000e+00 0 0 0
+57 2 9.0615693058513216e+00 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+58 1 9.6280143647524650e+00 3.1001635457640377e+00 0.0000000000000000e+00 0 0 0
+59 2 1.0194265469082737e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+60 1 1.0760653757776259e+01 3.1001591904894030e+00 0.0000000000000000e+00 0 0 0
+61 2 1.1326961632314152e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+62 1 1.1893297897551465e+01 3.1001481997229781e+00 0.0000000000000000e+00 0 0 0
+63 2 1.2459657795545567e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+64 1 1.3025951551034638e+01 3.1001318239711781e+00 0.0000000000000000e+00 0 0 0
+65 2 1.3592353958776982e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+66 1 1.4158618530491893e+01 3.1001115545681470e+00 0.0000000000000000e+00 0 0 0
+67 2 1.4725050122008398e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+68 1 1.5291301468763761e+01 3.1000890162853869e+00 0.0000000000000000e+00 0 0 0
+69 2 1.5857746285239813e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+70 1 1.6424001663467980e+01 3.1000659357603495e+00 0.0000000000000000e+00 0 0 0
+71 2 1.6990442448471228e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+72 1 1.7556718955895743e+01 3.1000441476131195e+00 0.0000000000000000e+00 0 0 0
+73 2 1.8123138611702643e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+74 1 1.8689451647636982e+01 3.1000255781755963e+00 0.0000000000000000e+00 0 0 0
+75 2 1.9255834774934058e+01 2.1414943053865132e+00 0.0000000000000000e+00 0 0 0
+76 1 1.9822196505112320e+01 3.1000121466922494e+00 0.0000000000000000e+00 0 0 0
+77 2 2.0388530938165474e+01 2.1414943053865136e+00 0.0000000000000000e+00 0 0 0
+78 1 2.0954948927196146e+01 3.1000055506449713e+00 0.0000000000000000e+00 0 0 0
+79 2 2.1521227101396889e+01 2.1414943053865141e+00 0.0000000000000000e+00 0 0 0
+80 1 2.2087703334137267e+01 3.1000069547492535e+00 0.0000000000000000e+00 0 0 0
+81 1 3.1056926716504509e-04 4.0585004644184055e+00 0.0000000000000000e+00 0 0 0
+82 1 5.6689331628382078e-01 5.0169857265632762e+00 0.0000000000000000e+00 0 0 0
+83 1 1.1331010876667682e+00 4.0585336877518543e+00 0.0000000000000000e+00 0 0 0
+84 1 1.6997107179473134e+00 5.0170595571637469e+00 0.0000000000000000e+00 0 0 0
+85 1 2.2658691471408239e+00 4.0585832735991989e+00 0.0000000000000000e+00 0 0 0
+86 1 2.8324913387275488e+00 5.0171576059016481e+00 0.0000000000000000e+00 0 0 0
+87 1 3.3986077265334802e+00 4.0586437183143182e+00 0.0000000000000000e+00 0 0 0
+88 1 3.9652274946581523e+00 5.0172690174612651e+00 0.0000000000000000e+00 0 0 0
+89 1 4.5313127263524615e+00 4.0587080892871539e+00 0.0000000000000000e+00 0 0 0
+90 1 5.0979153202534064e+00 5.0173813990872880e+00 0.0000000000000000e+00 0 0 0
+91 1 5.6639833195247755e+00 4.0587690704404489e+00 0.0000000000000000e+00 0 0 0
+92 1 6.2305551824295442e+00 5.0174824868813017e+00 0.0000000000000000e+00 0 0 0
+93 1 6.7966220748571669e+00 4.0588200390400129e+00 0.0000000000000000e+00 0 0 0
+94 1 7.3631519876339633e+00 5.0175617795367824e+00 0.0000000000000000e+00 0 0 0
+95 1 7.9292347620768062e+00 4.0588559557915787e+00 0.0000000000000000e+00 0 0 0
+96 1 8.4957150696300925e+00 5.0176118394895646e+00 0.0000000000000000e+00 0 0 0
+97 1 9.0618297669257259e+00 4.0588738859603266e+00 0.0000000000000000e+00 0 0 0
+98 1 9.6282574219214077e+00 5.0176289672989007e+00 0.0000000000000000e+00 0 0 0
+99 1 1.0194417159454611e+01 4.0588730767572860e+00 0.0000000000000000e+00 0 0 0
+100 1 1.0760794315385466e+01 5.0176131474245498e+00 0.0000000000000000e+00 0 0 0
+101 1 1.1327007580768864e+01 4.0588546552053515e+00 0.0000000000000000e+00 0 0 0
+102 1 1.1893341583868121e+01 5.0175674119454996e+00 0.0000000000000000e+00 0 0 0
+103 1 1.2459611156068675e+01 4.0588211205885418e+00 0.0000000000000000e+00 0 0 0
+104 1 1.3025913928919357e+01 5.0174969437432848e+00 0.0000000000000000e+00 0 0 0
+105 1 1.3592236588154931e+01 4.0587758328652299e+00 0.0000000000000000e+00 0 0 0
+106 1 1.4158523495745847e+01 5.0174082592346645e+00 0.0000000000000000e+00 0 0 0
+107 1 1.4724890484932756e+01 4.0587226477181808e+00 0.0000000000000000e+00 0 0 0
+108 1 1.5291178803597106e+01 5.0173086870307237e+00 0.0000000000000000e+00 0 0 0
+109 1 1.5857576888353359e+01 4.0586657476126140e+00 0.0000000000000000e+00 0 0 0
+110 1 1.6423884000624799e+01 5.0172061640888863e+00 0.0000000000000000e+00 0 0 0
+111 1 1.6990296946466405e+01 4.0586096139851531e+00 0.0000000000000000e+00 0 0 0
+112 1 1.7556638404998214e+01 5.0171091825602536e+00 0.0000000000000000e+00 0 0 0
+113 1 1.8123048711157228e+01 4.0585590083330025e+00 0.0000000000000000e+00 0 0 0
+114 1 1.8689436384449273e+01 5.0170266065355777e+00 0.0000000000000000e+00 0 0 0
+115 1 1.9255827121600600e+01 4.0585188068824696e+00 0.0000000000000000e+00 0 0 0
+116 1 1.9822267727126505e+01 5.0169670887341100e+00 0.0000000000000000e+00 0 0 0
+117 1 2.0388624292977298e+01 4.0584935738800203e+00 0.0000000000000000e+00 0 0 0
+118 1 2.0955118660666272e+01 5.0169379847636248e+00 0.0000000000000000e+00 0 0 0
+119 1 2.1521430213723754e+01 4.0584868720623906e+00 0.0000000000000000e+00 0 0 0
+120 1 2.2087973498256840e+01 5.0169439545250629e+00 0.0000000000000000e+00 0 0 0
+121 1 6.5693888433665819e-04 5.9753894955957820e+00 0.0000000000000000e+00 0 0 0
+122 1 5.6732815172745055e-01 6.9338399304063270e+00 0.0000000000000000e+00 0 0 0
+123 1 1.1335287178365945e+00 5.9754794631117711e+00 0.0000000000000000e+00 0 0 0
+124 1 1.7002170239497103e+00 6.9340002985609068e+00 0.0000000000000000e+00 0 0 0
+125 1 2.2663607603415961e+00 5.9756128140497200e+00 0.0000000000000000e+00 0 0 0
+126 1 2.8330530781363672e+00 6.9342120448719999e+00 0.0000000000000000e+00 0 0 0
+127 1 3.3991419489134609e+00 5.9757753571666763e+00 0.0000000000000000e+00 0 0 0
+128 1 3.9658260192240613e+00 6.9344537679961507e+00 0.0000000000000000e+00 0 0 0
+129 1 4.5318648361825700e+00 5.9759497256682410e+00 0.0000000000000000e+00 0 0 0
+130 1 5.0985283212441441e+00 6.9347011709619251e+00 0.0000000000000000e+00 0 0 0
+131 1 5.6645260085061278e+00 5.9761173336292988e+00 0.0000000000000000e+00 0 0 0
+132 1 6.2311560978848899e+00 6.9349290616610286e+00 0.0000000000000000e+00 0 0 0
+133 1 6.7971269443565747e+00 5.9762605495489280e+00 0.0000000000000000e+00 0 0 0
+134 1 7.3637111409380722e+00 6.9351139899270322e+00 0.0000000000000000e+00 0 0 0
+135 1 7.9296749255956041e+00 5.9763649377635293e+00 0.0000000000000000e+00 0 0 0
+136 1 8.4962030194710927e+00 6.9352373287964380e+00 0.0000000000000000e+00 0 0 0
+137 1 9.0621832354873675e+00 5.9764210443253543e+00 0.0000000000000000e+00 0 0 0
+138 1 9.6286498073427680e+00 6.9352878316174378e+00 0.0000000000000000e+00 0 0 0
+139 1 1.0194670187278859e+01 5.9764252099845692e+00 0.0000000000000000e+00 0 0 0
+140 1 1.0761076657788550e+01 6.9352626758233988e+00 0.0000000000000000e+00 0 0 0
+141 1 1.1327157075090911e+01 5.9763792530010624e+00 0.0000000000000000e+00 0 0 0
+142 1 1.1893512574619942e+01 6.9351667929726579e+00 0.0000000000000000e+00 0 0 0
+143 1 1.2459665575239395e+01 5.9762893326393627e+00 0.0000000000000000e+00 0 0 0
+144 1 1.3025986375565017e+01 6.9350110693313853e+00 0.0000000000000000e+00 0 0 0
+145 1 1.3592215193397568e+01 5.9761645662970668e+00 0.0000000000000000e+00 0 0 0
+146 1 1.4158522852873338e+01 6.9348103731164086e+00 0.0000000000000000e+00 0 0 0
+147 1 1.4724821146400661e+01 5.9760159211600943e+00 0.0000000000000000e+00 0 0 0
+148 1 1.5291139696354101e+01 6.9345821426564456e+00 0.0000000000000000e+00 0 0 0
+149 1 1.5857492801384174e+01 5.9758556179168476e+00 0.0000000000000000e+00 0 0 0
+150 1 1.6423845342403485e+01 6.9343457083902562e+00 0.0000000000000000e+00 0 0 0
+151 1 1.6990232659392920e+01 5.9756969240409656e+00 0.0000000000000000e+00 0 0 0
+152 1 1.7556637811168688e+01 6.9341219348234606e+00 0.0000000000000000e+00 0 0 0
+153 1 1.8123035927190724e+01 5.9755539362099377e+00 0.0000000000000000e+00 0 0 0
+154 1 1.8689504786395585e+01 6.9339324030079297e+00 0.0000000000000000e+00 0 0 0
+155 1 1.9255890870078105e+01 5.9754408656724385e+00 0.0000000000000000e+00 0 0 0
+156 1 1.9822425360651039e+01 6.9337974543626846e+00 0.0000000000000000e+00 0 0 0
+157 1 2.0388780199969101e+01 5.9753705251759808e+00 0.0000000000000000e+00 0 0 0
+158 1 2.0955373611320280e+01 6.9337330661143222e+00 0.0000000000000000e+00 0 0 0
+159 1 2.1521683507254988e+01 5.9753521824721574e+00 0.0000000000000000e+00 0 0 0
+160 1 2.2088323232189435e+01 6.9337475792566039e+00 0.0000000000000000e+00 0 0 0
+161 1 1.1151815023353693e-03 7.8921416571122727e+00 0.0000000000000000e+00 0 0 0
+162 1 5.6789887436851039e-01 8.8505576275120745e+00 0.0000000000000000e+00 0 0 0
+163 1 1.1340615020344891e+00 7.8923152028921146e+00 0.0000000000000000e+00 0 0 0
+164 1 1.7008494977197184e+00 8.8508369646616227e+00 0.0000000000000000e+00 0 0 0
+165 1 2.2669564852467339e+00 7.8925678787693965e+00 0.0000000000000000e+00 0 0 0
+166 1 2.8337429988374914e+00 8.8512007799959171e+00 0.0000000000000000e+00 0 0 0
+167 1 3.3997890834793392e+00 7.8928753791925752e+00 0.0000000000000000e+00 0 0 0
+168 1 3.9665700017177907e+00 8.8516188392723496e+00 0.0000000000000000e+00 0 0 0
+169 1 4.5325491541722158e+00 7.8932093579911635e+00 0.0000000000000000e+00 0 0 0
+170 1 5.0993179760197034e+00 8.8520570451664753e+00 0.0000000000000000e+00 0 0 0
+171 1 5.6652272696563086e+00 7.8935385042762318e+00 0.0000000000000000e+00 0 0 0
+172 1 6.2319722558852177e+00 8.8524768944511472e+00 0.0000000000000000e+00 0 0 0
+173 1 6.7978170214800082e+00 7.8938302754648539e+00 0.0000000000000000e+00 0 0 0
+174 1 7.3645207249719933e+00 8.8528366651387476e+00 0.0000000000000000e+00 0 0 0
+175 1 7.9303191911043118e+00 7.8940542651579788e+00 0.0000000000000000e+00 0 0 0
+176 1 8.4969615618418324e+00 8.8530963542120293e+00 0.0000000000000000e+00 0 0 0
+177 1 9.0627458585593441e+00 7.8941868850969135e+00 0.0000000000000000e+00 0 0 0
+178 1 9.6293104463590424e+00 8.8532254399208412e+00 0.0000000000000000e+00 0 0 0
+179 1 1.0195121730902658e+01 7.8942152485172352e+00 0.0000000000000000e+00 0 0 0
+180 1 1.0761602408503441e+01 8.8532092085980238e+00 0.0000000000000000e+00 0 0 0
+181 1 1.1327481649719793e+01 7.8941385508356099e+00 0.0000000000000000e+00 0 0 0
+182 1 1.1893886870241856e+01 8.8530505445055354e+00 0.0000000000000000e+00 0 0 0
+183 1 1.2459865179342737e+01 7.8939667557582798e+00 0.0000000000000000e+00 0 0 0
+184 1 1.3026218291904378e+01 8.8527674547956821e+00 0.0000000000000000e+00 0 0 0
+185 1 1.3592310202433307e+01 7.8937178025905181e+00 0.0000000000000000e+00 0 0 0
+186 1 1.4158645900042497e+01 8.8523887379317436e+00 0.0000000000000000e+00 0 0 0
+187 1 1.4724847145311326e+01 7.8934149070498600e+00 0.0000000000000000e+00 0 0 0
+188 1 1.5291205081244327e+01 8.8519503874602243e+00 0.0000000000000000e+00 0 0 0
+189 1 1.5857494607334019e+01 7.8930848995638652e+00 0.0000000000000000e+00 0 0 0
+190 1 1.6423911366860466e+01 8.8514936483282209e+00 0.0000000000000000e+00 0 0 0
+191 1 1.6990256625068444e+01 7.8927574412240151e+00 0.0000000000000000e+00 0 0 0
+192 1 1.7556757521848787e+01 8.8510636099500459e+00 0.0000000000000000e+00 0 0 0
+193 1 1.8123121878813144e+01 7.8924640508501298e+00 0.0000000000000000e+00 0 0 0
+194 1 1.8689714850348466e+01 8.8507060559423465e+00 0.0000000000000000e+00 0 0 0
+195 1 1.9256065579477248e+01 7.8922356001392169e+00 0.0000000000000000e+00 0 0 0
+196 1 1.9822740225596814e+01 8.8504608774193994e+00 0.0000000000000000e+00 0 0 0
+197 1 2.0389054599310764e+01 7.8920977743942782e+00 0.0000000000000000e+00 0 0 0
+198 1 2.0955788196198530e+01 8.8503534864083591e+00 0.0000000000000000e+00 0 0 0
+199 1 2.1522054950758765e+01 7.8920658349416701e+00 0.0000000000000000e+00 0 0 0
+200 1 2.2088823030833748e+01 8.8503894045591807e+00 0.0000000000000000e+00 0 0 0
+201 1 1.7402898961801966e-03 9.8087331458102049e+00 0.0000000000000000e+00 0 0 0
+202 1 5.6862550253253785e-01 1.0767129063577668e+01 0.0000000000000000e+00 0 0 0
+203 1 1.1347351125604563e+00 9.8090210312609756e+00 0.0000000000000000e+00 0 0 0
+204 1 1.7016010961270076e+00 1.0767553944884048e+01 0.0000000000000000e+00 0 0 0
+205 1 2.2676800733457139e+00 9.8094251915038573e+00 0.0000000000000000e+00 0 0 0
+206 1 2.8345388558320415e+00 1.0768094021206529e+01 0.0000000000000000e+00 0 0 0
+207 1 3.4005711921286008e+00 9.8099146303251388e+00 0.0000000000000000e+00 0 0 0
+208 1 3.9674359888022686e+00 1.0768719604543580e+01 0.0000000000000000e+00 0 0 0
+209 1 4.5333977826109315e+00 9.8104561733570019e+00 0.0000000000000000e+00 0 0 0
+210 1 5.1002760963180327e+00 1.0769398202643465e+01 0.0000000000000000e+00 0 0 0
+211 1 5.6661407887052828e+00 9.8110111848429966e+00 0.0000000000000000e+00 0 0 0
+212 1 6.2330282022400469e+00 1.0770087202120337e+01 0.0000000000000000e+00 0 0 0
+213 1 6.7987755062394477e+00 9.8115326503110527e+00 0.0000000000000000e+00 0 0 0
+214 1 7.3656514287550623e+00 1.0770727843890981e+01 0.0000000000000000e+00 0 0 0
+215 1 7.9312798141889260e+00 9.8119658218493768e+00 0.0000000000000000e+00 0 0 0
+216 1 8.4981076412551477e+00 1.0771244633836279e+01 0.0000000000000000e+00 0 0 0
+217 1 9.0636474998261161e+00 9.8122560909429151e+00 0.0000000000000000e+00 0 0 0
+218 1 9.6303843877347930e+00 1.0771559046035311e+01 0.0000000000000000e+00 0 0 0
+219 1 1.0195900672859819e+01 9.8123627359180627e+00 0.0000000000000000e+00 0 0 0
+220 1 1.0762516251278290e+01 1.0771614844517241e+01 0.0000000000000000e+00 0 0 0
+221 1 1.1328091472906591e+01 9.8122692653101016e+00 0.0000000000000000e+00 0 0 0
+222 1 1.1894584725285364e+01 1.0771394980275380e+01 0.0000000000000000e+00 0 0 0
+223 1 1.2460291956550108e+01 9.8119854743716211e+00 0.0000000000000000e+00 0 0 0
+224 1 1.3026697175518089e+01 1.0770922584297365e+01 0.0000000000000000e+00 0 0 0
+225 1 1.3592577560562113e+01 9.8115426529845742e+00 0.0000000000000000e+00 0 0 0
+226 1 1.4158957523975143e+01 1.0770251678533704e+01 0.0000000000000000e+00 0 0 0
+227 1 1.4725010595311739e+01 9.8109868569230709e+00 0.0000000000000000e+00 0 0 0
+228 1 1.5291439665423439e+01 1.0769456959141509e+01 0.0000000000000000e+00 0 0 0
+229 1 1.5857627568713173e+01 9.8103742214932304e+00 0.0000000000000000e+00 0 0 0
+230 1 1.6424169320270668e+01 1.0768628052568168e+01 0.0000000000000000e+00 0 0 0
+231 1 1.6990431516954079e+01 9.8097684628141781e+00 0.0000000000000000e+00 0 0 0
+232 1 1.7557116532362020e+01 1.0767864432631596e+01 0.0000000000000000e+00 0 0 0
+233 1 1.8123390991250901e+01 9.8092369760472078e+00 0.0000000000000000e+00 0 0 0
+234 1 1.8690204705628890e+01 1.0767262063551410e+01 0.0000000000000000e+00 0 0 0
+235 1 1.9256448808830498e+01 9.8088413825519911e+00 0.0000000000000000e+00 0 0 0
+236 1 1.9823340586830241e+01 1.0766888821404979e+01 0.0000000000000000e+00 0 0 0
+237 1 2.0389541413400988e+01 9.8086229912274785e+00 0.0000000000000000e+00 0 0 0
+238 1 2.0956458511796701e+01 1.0766759511236279e+01 0.0000000000000000e+00 0 0 0
+239 1 2.1522621458778595e+01 9.8085916713182311e+00 0.0000000000000000e+00 0 0 0
+240 1 2.2089529168272502e+01 1.0766851883618157e+01 0.0000000000000000e+00 0 0 0
+241 1 2.5440858595377333e-03 1.1725176449724485e+01 0.0000000000000000e+00 0 0 0
+242 1 5.6945959459694062e-01 1.2683596360703445e+01 0.0000000000000000e+00 0 0 0
+243 1 1.1355189649219313e+00 1.1725603142335736e+01 0.0000000000000000e+00 0 0 0
+244 1 1.7023827890664067e+00 1.2684167657575470e+01 0.0000000000000000e+00 0 0 0
+245 1 2.2684713496063051e+00 1.1726169790097240e+01 0.0000000000000000e+00 0 0 0
+246 1 2.8353214317297493e+00 1.2684869845626739e+01 0.0000000000000000e+00 0 0 0
+247 1 3.4014115221528614e+00 1.1726849793467629e+01 0.0000000000000000e+00 0 0 0
+248 1 3.9682847366436711e+00 1.2685690043118647e+01 0.0000000000000000e+00 0 0 0
+249 1 4.5343333925353440e+00 1.1727620546655658e+01 0.0000000000000000e+00 0 0 0
+250 1 5.1012595788864648e+00 1.2686617936467927e+01 0.0000000000000000e+00 0 0 0
+251 1 5.6672100999124009e+00 1.1728453321807010e+01 0.0000000000000000e+00 0 0 0
+252 1 6.2342050679378476e+00 1.2687631443781253e+01 0.0000000000000000e+00 0 0 0
+253 1 6.7999929539663801e+00 1.1729301393807379e+01 0.0000000000000000e+00 0 0 0
+254 1 7.3670487632296053e+00 1.2688678524169049e+01 0.0000000000000000e+00 0 0 0
+255 1 7.9326168577620031e+00 1.1730088752185795e+01 0.0000000000000000e+00 0 0 0
+256 1 8.4996909972151879e+00 1.2689657545646673e+01 0.0000000000000000e+00 0 0 0
+257 1 9.0650186324858186e+00 1.1730705889838760e+01 0.0000000000000000e+00 0 0 0
+258 1 9.6320279172941738e+00 1.2690401359419884e+01 0.0000000000000000e+00 0 0 0
+259 1 1.0197176988949883e+01 1.1731033591325737e+01 0.0000000000000000e+00 0 0 0
+260 1 1.0764025265158372e+01 1.2690719979755405e+01 0.0000000000000000e+00 0 0 0
+261 1 1.1329151471753224e+01 1.1730992082437087e+01 0.0000000000000000e+00 0 0 0
+262 1 1.1895793457864773e+01 1.2690499952724066e+01 0.0000000000000000e+00 0 0 0
+263 1 1.2461074954083520e+01 1.1730568008302011e+01 0.0000000000000000e+00 0 0 0
+264 1 1.3027557263784812e+01 1.2689744664661927e+01 0.0000000000000000e+00 0 0 0
+265 1 1.3593109813371450e+01 1.1729811224797992e+01 0.0000000000000000e+00 0 0 0
+266 1 1.4159562461497188e+01 1.2688557996910490e+01 0.0000000000000000e+00 0 0 0
+267 1 1.4725395146103379e+01 1.1728816806025771e+01 0.0000000000000000e+00 0 0 0
+268 1 1.5291979336937130e+01 1.2687112353846338e+01 0.0000000000000000e+00 0 0 0
+269 1 1.5858003969640130e+01 1.1727709969544065e+01 0.0000000000000000e+00 0 0 0
+270 1 1.6424834380846097e+01 1.2685627373535834e+01 0.0000000000000000e+00 0 0 0
+271 1 1.6990919595491782e+01 1.1726637864021814e+01 0.0000000000000000e+00 0 0 0
+272 1 1.7557997576834389e+01 1.2684345428666392e+01 0.0000000000000000e+00 0 0 0
+273 1 1.8124040077451223e+01 1.1725751812758334e+01 0.0000000000000000e+00 0 0 0
+274 1 1.8691233014266899e+01 1.2683475493290855e+01 0.0000000000000000e+00 0 0 0
+275 1 1.9257221467828444e+01 1.1725167602985902e+01 0.0000000000000000e+00 0 0 0
+276 1 1.9824402296022900e+01 1.2683041511515679e+01 0.0000000000000000e+00 0 0 0
+277 1 2.0390369399207284e+01 1.1724905550220807e+01 0.0000000000000000e+00 0 0 0
+278 1 2.0957468093457749e+01 1.2682973372169659e+01 0.0000000000000000e+00 0 0 0
+279 1 2.1523449818304549e+01 1.1724927159323300e+01 0.0000000000000000e+00 0 0 0
+280 1 2.2090449109149038e+01 1.2683182366055206e+01 0.0000000000000000e+00 0 0 0
+281 1 3.4599372752678664e-03 1.3641562113178441e+01 0.0000000000000000e+00 0 0 0
+282 1 5.7026645299712297e-01 1.4600072778762289e+01 0.0000000000000000e+00 0 0 0
+283 1 1.1363018176625184e+00 1.3642122621820601e+01 0.0000000000000000e+00 0 0 0
+284 1 1.7030304397851530e+00 1.4600744808517264e+01 0.0000000000000000e+00 0 0 0
+285 1 2.2691832178537314e+00 1.3642819174389231e+01 0.0000000000000000e+00 0 0 0
+286 1 2.8358920720180945e+00 1.4601540713388465e+01 0.0000000000000000e+00 0 0 0
+287 1 3.4021290160499604e+00 1.3643644649633430e+01 0.0000000000000000e+00 0 0 0
+288 1 3.9688713598453158e+00 1.4602477110803298e+01 0.0000000000000000e+00 0 0 0
+289 1 4.5351441054704758e+00 1.3644605343002951e+01 0.0000000000000000e+00 0 0 0
+290 1 5.1019693529741863e+00 1.4603583498422479e+01 0.0000000000000000e+00 0 0 0
+291 1 5.6682074099496385e+00 1.3645707993168530e+01 0.0000000000000000e+00 0 0 0
+292 1 6.2351598742721581e+00 1.4604888485699654e+01 0.0000000000000000e+00 0 0 0
+293 1 6.8012626955016664e+00 1.3646941178415421e+01 0.0000000000000000e+00 0 0 0
+294 1 7.3683745276621622e+00 1.4606397643582930e+01 0.0000000000000000e+00 0 0 0
+295 1 7.9342088141787288e+00 1.3648248663869856e+01 0.0000000000000000e+00 0 0 0
+296 1 8.5014805494154277e+00 1.4608055299059714e+01 0.0000000000000000e+00 0 0 0
+297 1 9.0668968877652869e+00 1.3649493406156790e+01 0.0000000000000000e+00 0 0 0
+298 1 9.6342620410232698e+00 1.4609684783907733e+01 0.0000000000000000e+00 0 0 0
+299 1 1.0199152905272882e+01 1.3650407439181874e+01 0.0000000000000000e+00 0 0 0
+300 1 1.0766413330496736e+01 1.4610836305969919e+01 0.0000000000000000e+00 0 0 0
+301 1 1.1330921232704116e+01 1.3650669393063648e+01 0.0000000000000000e+00 0 0 0
+302 1 1.1897841502623006e+01 1.4610930556808350e+01 0.0000000000000000e+00 0 0 0
+303 1 1.2462421601307861e+01 1.3650120591395567e+01 0.0000000000000000e+00 0 0 0
+304 1 1.3029018938638984e+01 1.4609761134444172e+01 0.0000000000000000e+00 0 0 0
+305 1 1.3594046992755665e+01 1.3648816127477271e+01 0.0000000000000000e+00 0 0 0
+306 1 1.4160647838817273e+01 1.4607529632893289e+01 0.0000000000000000e+00 0 0 0
+307 1 1.4726158301286814e+01 1.3646976680611393e+01 0.0000000000000000e+00 0 0 0
+308 1 1.5293172565463893e+01 1.4604737496674128e+01 0.0000000000000000e+00 0 0 0
+309 1 1.5858902039329786e+01 1.3644935977195637e+01 0.0000000000000000e+00 0 0 0
+310 1 1.6426542400228328e+01 1.4602024837155536e+01 0.0000000000000000e+00 0 0 0
+311 1 1.6992136000094352e+01 1.3643085312965626e+01 0.0000000000000000e+00 0 0 0
+312 1 1.7559955069272618e+01 1.4600235886953440e+01 0.0000000000000000e+00 0 0 0
+313 1 1.8125444003110619e+01 1.3641827838397322e+01 0.0000000000000000e+00 0 0 0
+314 1 1.8693119558449155e+01 1.4599324386000902e+01 0.0000000000000000e+00 0 0 0
+315 1 1.9258622464532973e+01 1.3641178402937728e+01 0.0000000000000000e+00 0 0 0
+316 1 1.9826034884164418e+01 1.4599040434292966e+01 0.0000000000000000e+00 0 0 0
+317 1 2.0391639577074734e+01 1.3641005830730871e+01 0.0000000000000000e+00 0 0 0
+318 1 2.0958793244869717e+01 1.4599158580846662e+01 0.0000000000000000e+00 0 0 0
+319 1 2.1524539566888354e+01 1.3641168546895004e+01 0.0000000000000000e+00 0 0 0
+320 1 2.2091487241099536e+01 1.4599530965127977e+01 0.0000000000000000e+00 0 0 0
+321 1 4.3165808837657372e-03 1.5558056864296654e+01 0.0000000000000000e+00 0 0 0
+322 1 5.7083714563799326e-01 1.6516708751979007e+01 0.0000000000000000e+00 0 0 0
+323 1 1.1369032012442155e+00 1.5558694023524415e+01 0.0000000000000000e+00 0 0 0
+324 1 1.7033478671452040e+00 1.6517390053019362e+01 0.0000000000000000e+00 0 0 0
+325 1 2.2696166894760093e+00 1.5559438272441989e+01 0.0000000000000000e+00 0 0 0
+326 1 2.8360390517176817e+00 1.6518173675862919e+01 0.0000000000000000e+00 0 0 0
+327 1 3.4024835472607537e+00 1.5560308985846410e+01 0.0000000000000000e+00 0 0 0
+328 1 3.9689280293273477e+00 1.6519102391285173e+01 0.0000000000000000e+00 0 0 0
+329 1 4.5355194771089229e+00 1.5561347597079759e+01 0.0000000000000000e+00 0 0 0
+330 1 5.1020300316691811e+00 1.6520241802728972e+01 0.0000000000000000e+00 0 0 0
+331 1 5.6687261068083830e+00 1.5562609975559823e+01 0.0000000000000000e+00 0 0 0
+332 1 6.2353553251066147e+00 1.6521676870813170e+01 0.0000000000000000e+00 0 0 0
+333 1 6.8020803209306022e+00 1.5564154380715671e+01 0.0000000000000000e+00 0 0 0
+334 1 7.3688969132482525e+00 1.6523504940606951e+01 0.0000000000000000e+00 0 0 0
+335 1 7.9355107433004930e+00 1.5566016713593251e+01 0.0000000000000000e+00 0 0 0
+336 1 8.5025988576228730e+00 1.6525815249413437e+01 0.0000000000000000e+00 0 0 0
+337 1 9.0688572861916743e+00 1.5568159644275148e+01 0.0000000000000000e+00 0 0 0
+338 1 9.6362867759002064e+00 1.6528628994685398e+01 0.0000000000000000e+00 0 0 0
+339 1 1.0201819017728946e+01 1.5570385216229328e+01 0.0000000000000000e+00 0 0 0
+340 1 1.0769583800973923e+01 1.6531845844888416e+01 0.0000000000000000e+00 0 0 0
+341 1 1.1333827071325254e+01 1.5571891707346142e+01 0.0000000000000000e+00 0 0 0
+342 1 1.1901384079738815e+01 1.6533906438348030e+01 0.0000000000000000e+00 0 0 0
+343 1 1.2464735369608531e+01 1.5571536667850689e+01 0.0000000000000000e+00 0 0 0
+344 1 1.3031616332415751e+01 1.6532264065445577e+01 0.0000000000000000e+00 0 0 0
+345 1 1.3595655007692846e+01 1.5569123466092078e+01 0.0000000000000000e+00 0 0 0
+346 1 1.4162673858547034e+01 1.6527452690896975e+01 0.0000000000000000e+00 0 0 0
+347 1 1.4727720485417455e+01 1.5565353830287787e+01 0.0000000000000000e+00 0 0 0
+348 1 1.5296922688141537e+01 1.6520776714395723e+01 0.0000000000000000e+00 0 0 0
+349 1 1.5861362778086731e+01 1.5561222799294468e+01 0.0000000000000000e+00 0 0 0
+350 1 1.6430601172841506e+01 1.6517208583528205e+01 0.0000000000000000e+00 0 0 0
+351 1 1.6994922716392164e+01 1.5558699760506759e+01 0.0000000000000000e+00 0 0 0
+352 1 1.7563499738678178e+01 1.6515675589984340e+01 0.0000000000000000e+00 0 0 0
+353 1 1.8128019408521833e+01 1.5557486534354460e+01 0.0000000000000000e+00 0 0 0
+354 1 1.8695872352982320e+01 1.6515215010141834e+01 0.0000000000000000e+00 0 0 0
+355 1 1.9260742856192188e+01 1.5557098710840322e+01 0.0000000000000000e+00 0 0 0
+356 1 1.9828039670247652e+01 1.6515278710047973e+01 0.0000000000000000e+00 0 0 0
+357 1 2.0393271644052639e+01 1.5557181842904438e+01 0.0000000000000000e+00 0 0 0
+358 1 2.0960186167839215e+01 1.6515618076673135e+01 0.0000000000000000e+00 0 0 0
+359 1 2.1525740973565441e+01 1.5557536533469163e+01 0.0000000000000000e+00 0 0 0
+360 1 2.2092409007659992e+01 1.6516113225524911e+01 0.0000000000000000e+00 0 0 0
+361 1 4.8529541639103424e-03 1.7474826118864232e+01 0.0000000000000000e+00 0 0 0
+362 1 5.7093835977538809e-01 1.8433654344787417e+01 0.0000000000000000e+00 0 0 0
+363 1 1.1371184592334547e+00 1.7475436697267657e+01 0.0000000000000000e+00 0 0 0
+364 1 1.7031721612449391e+00 1.8434245395923575e+01 0.0000000000000000e+00 0 0 0
+365 1 2.2695912343467985e+00 1.7476125500853652e+01 0.0000000000000000e+00 0 0 0
+366 1 2.8356286616018873e+00 1.8434926390559969e+01 0.0000000000000000e+00 0 0 0
+367 1 3.4022762478393873e+00 1.7476929029147396e+01 0.0000000000000000e+00 0 0 0
+368 1 3.9683006032101118e+00 1.8435747821965681e+01 0.0000000000000000e+00 0 0 0
+369 1 4.5351848152653442e+00 1.7477909278192492e+01 0.0000000000000000e+00 0 0 0
+370 1 5.1011966627212457e+00 1.8436786379097875e+01 0.0000000000000000e+00 0 0 0
+371 1 5.6683370882181823e+00 1.7479154484464996e+01 0.0000000000000000e+00 0 0 0
+372 1 6.2343468444568826e+00 1.8438149387991913e+01 0.0000000000000000e+00 0 0 0
+373 1 6.8017614989468314e+00 1.7480782103907771e+01 0.0000000000000000e+00 0 0 0
+374 1 7.3678106610096554e+00 1.8439986240742563e+01 0.0000000000000000e+00 0 0 0
+375 1 7.9354841298542631e+00 1.7482944033551004e+01 0.0000000000000000e+00 0 0 0
+376 1 8.5016878917981664e+00 1.8442513240991936e+01 0.0000000000000000e+00 0 0 0
+377 1 9.0694835466447152e+00 1.7485826099637269e+01 0.0000000000000000e+00 0 0 0
+378 1 9.6361298737773780e+00 1.8446058020412732e+01 0.0000000000000000e+00 0 0 0
+379 3 1.0203552137528503e+01 1.7489611887918201e+01 0.0000000000000000e+00 0 0 0
+380 3 1.0771411102042309e+01 1.8452757080501815e+01 0.0000000000000000e+00 0 0 0
+381 3 1.1337379036649208e+01 1.7494680029430171e+01 0.0000000000000000e+00 0 0 0
+382 3 1.1906745469447291e+01 1.8462022833637111e+01 0.0000000000000000e+00 0 0 0
+383 3 1.2469280552911147e+01 1.7497259990645460e+01 0.0000000000000000e+00 0 0 0
+384 3 1.3036336275216634e+01 1.8467761987124586e+01 0.0000000000000000e+00 0 0 0
+385 3 1.3598327635293121e+01 1.7492598542232617e+01 0.0000000000000000e+00 0 0 0
+386 3 1.4175415687021504e+01 1.8442378825657116e+01 0.0000000000000000e+00 0 0 0
+387 3 1.4734039006741700e+01 1.7480807237018496e+01 0.0000000000000000e+00 0 0 0
+388 3 1.5307067776131944e+01 1.8435324828663727e+01 0.0000000000000000e+00 0 0 0
+389 3 1.5867533841026015e+01 1.7475841850521086e+01 0.0000000000000000e+00 0 0 0
+390 3 1.6437492616293390e+01 1.8432690656917494e+01 0.0000000000000000e+00 0 0 0
+391 3 1.6999775067986949e+01 1.7473899503923125e+01 0.0000000000000000e+00 0 0 0
+392 3 1.7567888910690055e+01 1.8431965422256074e+01 0.0000000000000000e+00 0 0 0
+393 1 1.8131542880564929e+01 1.7473449678636637e+01 0.0000000000000000e+00 0 0 0
+394 1 1.8698655140485940e+01 1.8432031695013379e+01 0.0000000000000000e+00 0 0 0
+395 1 1.9263155459010161e+01 1.7473512474723787e+01 0.0000000000000000e+00 0 0 0
+396 1 1.9829735002682860e+01 1.8432284732233299e+01 0.0000000000000000e+00 0 0 0
+397 1 2.0394851027090610e+01 1.7473827778588312e+01 0.0000000000000000e+00 0 0 0
+398 1 2.0961149629160545e+01 1.8432663919612150e+01 0.0000000000000000e+00 0 0 0
+399 1 2.1526715232103822e+01 1.7474283624212315e+01 0.0000000000000000e+00 0 0 0
+400 1 2.2092870034810801e+01 1.8433127631588540e+01 0.0000000000000000e+00 0 0 0
+401 1 4.8013042136807321e-03 1.9396043340320471e+01 0.0000000000000000e+00 0 0 0
+402 1 1.1367941837037772e+00 1.9396530996055038e+01 0.0000000000000000e+00 0 0 0
+403 1 2.2690256110731926e+00 1.9397098404349112e+01 0.0000000000000000e+00 0 0 0
+404 1 3.4014603716469214e+00 1.9397780714315690e+01 0.0000000000000000e+00 0 0 0
+405 1 4.5340819027961929e+00 1.9398637844588755e+01 0.0000000000000000e+00 0 0 0
+406 1 5.6668967352607975e+00 1.9399756780683603e+01 0.0000000000000000e+00 0 0 0
+407 1 6.7999442980869498e+00 1.9401258783163115e+01 0.0000000000000000e+00 0 0 0
+408 1 7.9333186797521877e+00 1.9403316975932661e+01 0.0000000000000000e+00 0 0 0
+409 1 9.0672196895765094e+00 1.9406194727028712e+01 0.0000000000000000e+00 0 0 0
+410 3 1.0202094493927524e+01 1.9410357283161499e+01 0.0000000000000000e+00 0 0 0
+411 3 1.1344493619984819e+01 1.9424786980556338e+01 0.0000000000000000e+00 0 0 0
+412 3 1.2637742177785299e+01 1.9930889974773997e+01 0.0000000000000000e+00 0 0 0
+413 3 1.3631034994726834e+01 1.9413135103231994e+01 0.0000000000000000e+00 0 0 0
+414 3 1.4752642655140622e+01 1.9401337789912994e+01 0.0000000000000000e+00 0 0 0
+415 3 1.5877850085888255e+01 1.9396855373999653e+01 0.0000000000000000e+00 0 0 0
+416 3 1.7005401679016000e+01 1.9395287677046394e+01 0.0000000000000000e+00 0 0 0
+417 1 1.8134615217150579e+01 1.9394983390043944e+01 0.0000000000000000e+00 0 0 0
+418 1 1.9264825666738730e+01 1.9395059679793604e+01 0.0000000000000000e+00 0 0 0
+419 1 2.0395687437852093e+01 1.9395286212420899e+01 0.0000000000000000e+00 0 0 0
+420 1 2.1527023164623820e+01 1.9395624428209523e+01 0.0000000000000000e+00 0 0 0
+
+Velocities
+
+1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+42 1.4582830912290846e-05 8.8846352819582645e-06 0.0000000000000000e+00
+43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+44 1.7312859198533731e-05 8.9315474912415886e-06 0.0000000000000000e+00
+45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+46 1.9675072488620216e-05 9.1850485538530490e-06 0.0000000000000000e+00
+47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+48 2.1433074233334628e-05 9.6286706528260491e-06 0.0000000000000000e+00
+49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+50 2.2405931370299284e-05 1.0203419110643709e-05 0.0000000000000000e+00
+51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+52 2.2491059900157929e-05 1.0820884817441812e-05 0.0000000000000000e+00
+53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+54 2.1681031416712071e-05 1.1392109985469690e-05 0.0000000000000000e+00
+55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+56 2.0060641760669130e-05 1.1861625865799975e-05 0.0000000000000000e+00
+57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+58 1.7796484401635950e-05 1.2218953480137158e-05 0.0000000000000000e+00
+59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+60 1.5112094617093786e-05 1.2477438154365889e-05 0.0000000000000000e+00
+61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+62 1.2267198630926124e-05 1.2639445999779870e-05 0.0000000000000000e+00
+63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+64 9.5350822789358476e-06 1.2675742401072055e-05 0.0000000000000000e+00
+65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+66 7.1824119616190063e-06 1.2539493069881058e-05 0.0000000000000000e+00
+67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+68 5.4428729520064613e-06 1.2202930059423273e-05 0.0000000000000000e+00
+69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+70 4.4916342132800272e-06 1.1686680302800539e-05 0.0000000000000000e+00
+71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+72 4.4211188598874964e-06 1.1059784694772424e-05 0.0000000000000000e+00
+73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+74 5.2335171901646275e-06 1.0413115381938121e-05 0.0000000000000000e+00
+75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+76 6.8418345483267640e-06 9.8270961040952689e-06 0.0000000000000000e+00
+77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+78 9.0862581078626780e-06 9.3562441357185347e-06 0.0000000000000000e+00
+79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
+80 1.1750898218046424e-05 9.0341536486321376e-06 0.0000000000000000e+00
+81 2.6507896911975861e-05 1.6371545140358991e-05 0.0000000000000000e+00
+82 4.4071318998573086e-05 2.1693750644120881e-05 0.0000000000000000e+00
+83 3.1968282279407066e-05 1.6236651087870452e-05 0.0000000000000000e+00
+84 5.1796828963389391e-05 2.2204255617741203e-05 0.0000000000000000e+00
+85 3.6954144790935994e-05 1.6513220966131449e-05 0.0000000000000000e+00
+86 5.8466837911599906e-05 2.3765145047455889e-05 0.0000000000000000e+00
+87 4.0988263449448856e-05 1.7195597287912591e-05 0.0000000000000000e+00
+88 6.3421700984930829e-05 2.6202560196158383e-05 0.0000000000000000e+00
+89 4.3676514981254302e-05 1.8262201659237366e-05 0.0000000000000000e+00
+90 6.6189231995872341e-05 2.9208208903089284e-05 0.0000000000000000e+00
+91 4.4757820844412710e-05 1.9680681285465242e-05 0.0000000000000000e+00
+92 6.6503049702947023e-05 3.2363912757959332e-05 0.0000000000000000e+00
+93 4.4112984955796063e-05 2.1371026788621213e-05 0.0000000000000000e+00
+94 6.4345177020566643e-05 3.5287785267920645e-05 0.0000000000000000e+00
+95 4.1787976800244936e-05 2.3162941413835267e-05 0.0000000000000000e+00
+96 5.9928744845970383e-05 3.7723007380205399e-05 0.0000000000000000e+00
+97 3.7995079634412303e-05 2.4792875906820557e-05 0.0000000000000000e+00
+98 5.3679482622744082e-05 3.9576112916242527e-05 0.0000000000000000e+00
+99 3.3102802347870566e-05 2.5962643816709875e-05 0.0000000000000000e+00
+100 4.6196928202386916e-05 4.0841431876258162e-05 0.0000000000000000e+00
+101 2.7604731797030090e-05 2.6452929465938663e-05 0.0000000000000000e+00
+102 3.8198605610544056e-05 4.1488731650403403e-05 0.0000000000000000e+00
+103 2.2062125644364829e-05 2.6211631192676194e-05 0.0000000000000000e+00
+104 3.0461532031511585e-05 4.1405446569862951e-05 0.0000000000000000e+00
+105 1.7036890410487144e-05 2.5367151114186193e-05 0.0000000000000000e+00
+106 2.3743747198513856e-05 4.0442707371844690e-05 0.0000000000000000e+00
+107 1.3025410253023063e-05 2.4148417954514280e-05 0.0000000000000000e+00
+108 1.8714618137705143e-05 3.8535713097978544e-05 0.0000000000000000e+00
+109 1.0408634299164180e-05 2.2777378345262281e-05 0.0000000000000000e+00
+110 1.5879886471080462e-05 3.5803991688099920e-05 0.0000000000000000e+00
+111 9.4236282619897256e-06 2.1395799353203516e-05 0.0000000000000000e+00
+112 1.5528508660313246e-05 3.2559849894401442e-05 0.0000000000000000e+00
+113 1.0151636970505765e-05 2.0069631778223131e-05 0.0000000000000000e+00
+114 1.7697076907652322e-05 2.9219489273322326e-05 0.0000000000000000e+00
+115 1.2515393741428794e-05 1.8835255026813244e-05 0.0000000000000000e+00
+116 2.2166639673992795e-05 2.6190973817683679e-05 0.0000000000000000e+00
+117 1.6287686218571795e-05 1.7749195377506077e-05 0.0000000000000000e+00
+118 2.8490182736201632e-05 2.3793837746782787e-05 0.0000000000000000e+00
+119 2.1107512829311378e-05 1.6897890319175769e-05 0.0000000000000000e+00
+120 3.6037837106045466e-05 2.2245603004594772e-05 0.0000000000000000e+00
+121 5.3754680927831089e-05 2.5818243561840512e-05 0.0000000000000000e+00
+122 7.3852984703953750e-05 2.7472934391924166e-05 0.0000000000000000e+00
+123 6.4028996009385391e-05 2.5673459200729887e-05 0.0000000000000000e+00
+124 8.5908169593167111e-05 2.8779655657983422e-05 0.0000000000000000e+00
+125 7.3452059594226324e-05 2.6972883064637495e-05 0.0000000000000000e+00
+126 9.6325597970378315e-05 3.2438649799599460e-05 0.0000000000000000e+00
+127 8.1100712408732978e-05 2.9661132010523619e-05 0.0000000000000000e+00
+128 1.0416393664254911e-04 3.7996059391476322e-05 0.0000000000000000e+00
+129 8.6279187735689372e-05 3.3655093070911189e-05 0.0000000000000000e+00
+130 1.0867812733907078e-04 4.4662561906767820e-05 0.0000000000000000e+00
+131 8.8474833676771911e-05 3.8743354165649700e-05 0.0000000000000000e+00
+132 1.0953332540892396e-04 5.1642519960343192e-05 0.0000000000000000e+00
+133 8.7489301482666931e-05 4.4565301821478113e-05 0.0000000000000000e+00
+134 1.0664519563149365e-04 5.8191926603172465e-05 0.0000000000000000e+00
+135 8.3386685919597045e-05 5.0496180582897816e-05 0.0000000000000000e+00
+136 1.0029664202627839e-04 6.3854180722835299e-05 0.0000000000000000e+00
+137 7.6554421387387345e-05 5.5724916856637890e-05 0.0000000000000000e+00
+138 9.1026233328924885e-05 6.8337584627018583e-05 0.0000000000000000e+00
+139 6.7636782318513533e-05 5.9415263115523977e-05 0.0000000000000000e+00
+140 7.9687801662836277e-05 7.1465060890868459e-05 0.0000000000000000e+00
+141 5.7497112140338785e-05 6.0967609586633220e-05 0.0000000000000000e+00
+142 6.7357844628560681e-05 7.3031410372387953e-05 0.0000000000000000e+00
+143 4.7129030804640708e-05 6.0212629249287861e-05 0.0000000000000000e+00
+144 5.5250218292995579e-05 7.2797466423152327e-05 0.0000000000000000e+00
+145 3.7563119690651669e-05 5.7436898093437411e-05 0.0000000000000000e+00
+146 4.4567659752612482e-05 7.0555413628180241e-05 0.0000000000000000e+00
+147 2.9761856381290211e-05 5.3240161725660877e-05 0.0000000000000000e+00
+148 3.6379968408071024e-05 6.6254587745984145e-05 0.0000000000000000e+00
+149 2.4507249328654254e-05 4.8297754292616488e-05 0.0000000000000000e+00
+150 3.1513287993668526e-05 6.0149614548130757e-05 0.0000000000000000e+00
+151 2.2321658045569226e-05 4.3171432510556026e-05 0.0000000000000000e+00
+152 3.0489149535510922e-05 5.2826430989590112e-05 0.0000000000000000e+00
+153 2.3406691442805219e-05 3.8251620084219645e-05 0.0000000000000000e+00
+154 3.3434005351227340e-05 4.5149642749209296e-05 0.0000000000000000e+00
+155 2.7646263937105427e-05 3.3806816567877322e-05 0.0000000000000000e+00
+156 4.0072022728543377e-05 3.8051851023877120e-05 0.0000000000000000e+00
+157 3.4612453095456479e-05 3.0084179504664271e-05 0.0000000000000000e+00
+158 4.9715995320497382e-05 3.2366348850974144e-05 0.0000000000000000e+00
+159 4.3610755492928814e-05 2.7338724794948033e-05 0.0000000000000000e+00
+160 6.1380291935873857e-05 2.8717537667974358e-05 0.0000000000000000e+00
+161 8.1494982491825407e-05 2.8148953219575557e-05 0.0000000000000000e+00
+162 1.0332280599497646e-04 2.6201503829225565e-05 0.0000000000000000e+00
+163 9.5761847160871774e-05 2.7946357434336516e-05 0.0000000000000000e+00
+164 1.1864695815872809e-04 2.8356135457834722e-05 0.0000000000000000e+00
+165 1.0885399470738391e-04 3.0748146450938071e-05 0.0000000000000000e+00
+166 1.3196232705661449e-04 3.4623883717438410e-05 0.0000000000000000e+00
+167 1.1960145227112585e-04 3.6566084099414615e-05 0.0000000000000000e+00
+168 1.4195026861275745e-04 4.3922046815628174e-05 0.0000000000000000e+00
+169 1.2694731664409029e-04 4.5104351462522260e-05 0.0000000000000000e+00
+170 1.4795217588335909e-04 5.5130340832613979e-05 0.0000000000000000e+00
+171 1.3031757484079781e-04 5.5906601170376687e-05 0.0000000000000000e+00
+172 1.4942385512754647e-04 6.7008660580344934e-05 0.0000000000000000e+00
+173 1.2933895493945637e-04 6.7959205844179285e-05 0.0000000000000000e+00
+174 1.4640862693120205e-04 7.8808347871067721e-05 0.0000000000000000e+00
+175 1.2418770632620368e-04 7.9948632905278019e-05 0.0000000000000000e+00
+176 1.3899686227644703e-04 8.9704374162949410e-05 0.0000000000000000e+00
+177 1.1530175670323509e-04 9.0294899930563893e-05 0.0000000000000000e+00
+178 1.2781482749801704e-04 9.8919094420893419e-05 0.0000000000000000e+00
+179 1.0353662297703481e-04 9.7655023731693666e-05 0.0000000000000000e+00
+180 1.1373191796318627e-04 1.0541969215504335e-04 0.0000000000000000e+00
+181 8.9924310567240939e-05 1.0107679026970171e-04 0.0000000000000000e+00
+182 9.8144155759054283e-05 1.0842945197242355e-04 0.0000000000000000e+00
+183 7.5715426026251240e-05 1.0020899633485792e-04 0.0000000000000000e+00
+184 8.2585472575644195e-05 1.0759497773947524e-04 0.0000000000000000e+00
+185 6.2273313315312773e-05 9.5280171371694988e-05 0.0000000000000000e+00
+186 6.8676150395344254e-05 1.0303784847881596e-04 0.0000000000000000e+00
+187 5.0970916505555661e-05 8.7088088473526171e-05 0.0000000000000000e+00
+188 5.7773431465618642e-05 9.5162943772818259e-05 0.0000000000000000e+00
+189 4.3046171895633206e-05 7.6794608467548045e-05 0.0000000000000000e+00
+190 5.1018825812688962e-05 8.4471826448580955e-05 0.0000000000000000e+00
+191 3.9350805046373119e-05 6.5685772521718177e-05 0.0000000000000000e+00
+192 4.9118794840322114e-05 7.1798478806600616e-05 0.0000000000000000e+00
+193 4.0296544731752153e-05 5.4848218154306130e-05 0.0000000000000000e+00
+194 5.2373823993379091e-05 5.8337807582076184e-05 0.0000000000000000e+00
+195 4.5754994278033105e-05 4.5116316024063770e-05 0.0000000000000000e+00
+196 6.0480102795976155e-05 4.5653533328626764e-05 0.0000000000000000e+00
+197 5.5147574075957093e-05 3.7092945765346277e-05 0.0000000000000000e+00
+198 7.2607642712602124e-05 3.5308098903458904e-05 0.0000000000000000e+00
+199 6.7490113431981086e-05 3.1302088338741595e-05 0.0000000000000000e+00
+200 8.7399794370653100e-05 2.8568976378293145e-05 0.0000000000000000e+00
+201 1.0893722215793989e-04 2.3548242675947018e-05 0.0000000000000000e+00
+202 1.3096734611020011e-04 1.8222479559561189e-05 0.0000000000000000e+00
+203 1.2587405764826476e-04 2.3075086083653581e-05 0.0000000000000000e+00
+204 1.4794813469964918e-04 2.1310741972757686e-05 0.0000000000000000e+00
+205 1.4140062010542452e-04 2.7813335553710658e-05 0.0000000000000000e+00
+206 1.6232505969042551e-04 3.0392445992766945e-05 0.0000000000000000e+00
+207 1.5397074924697088e-04 3.7554013992723016e-05 0.0000000000000000e+00
+208 1.7307084911688810e-04 4.3967269632201604e-05 0.0000000000000000e+00
+209 1.6265299884253917e-04 5.1975640619979227e-05 0.0000000000000000e+00
+210 1.7920198664424654e-04 6.0190020213309052e-05 0.0000000000000000e+00
+211 1.6652150024137926e-04 6.9718144800536699e-05 0.0000000000000000e+00
+212 1.8081789854731273e-04 7.8360099041392683e-05 0.0000000000000000e+00
+213 1.6556181720350750e-04 8.9018344965798718e-05 0.0000000000000000e+00
+214 1.7752817256212197e-04 9.7575999242155437e-05 0.0000000000000000e+00
+215 1.5977208852566740e-04 1.0737397867986304e-04 0.0000000000000000e+00
+216 1.6979140654165145e-04 1.1697357648400367e-04 0.0000000000000000e+00
+217 1.4991716557360079e-04 1.2288188040735228e-04 0.0000000000000000e+00
+218 1.5773246565703171e-04 1.3407831270088809e-04 0.0000000000000000e+00
+219 1.3669127604115129e-04 1.3409320273816903e-04 0.0000000000000000e+00
+220 1.4251229678068216e-04 1.4611735938454550e-04 0.0000000000000000e+00
+221 1.2122307334826826e-04 1.4035076438954076e-04 0.0000000000000000e+00
+222 1.2529950168048559e-04 1.5081786662543979e-04 0.0000000000000000e+00
+223 1.0469592755885001e-04 1.4095013503932427e-04 0.0000000000000000e+00
+224 1.0808583047877408e-04 1.4794462550140816e-04 0.0000000000000000e+00
+225 8.8627241500263001e-05 1.3548056521811501e-04 0.0000000000000000e+00
+226 9.2458332531887566e-05 1.3885968265358318e-04 0.0000000000000000e+00
+227 7.4741877098264211e-05 1.2401626995789950e-04 0.0000000000000000e+00
+228 8.0205883060811833e-05 1.2520982577425913e-04 0.0000000000000000e+00
+229 6.4625586397733592e-05 1.0787656142000266e-04 0.0000000000000000e+00
+230 7.2455365263725255e-05 1.0828209149006050e-04 0.0000000000000000e+00
+231 5.9588283630412220e-05 8.9170324651604443e-05 0.0000000000000000e+00
+232 7.0192628935414336e-05 8.8909581629389317e-05 0.0000000000000000e+00
+233 6.0204784194593798e-05 7.0300012127155753e-05 0.0000000000000000e+00
+234 7.3736654845263383e-05 6.8446290010432812e-05 0.0000000000000000e+00
+235 6.6430610182749772e-05 5.3155748135392397e-05 0.0000000000000000e+00
+236 8.2877314926921305e-05 4.8905829630990080e-05 0.0000000000000000e+00
+237 7.7513488386102286e-05 3.9091588598701160e-05 0.0000000000000000e+00
+238 9.6520171103331445e-05 3.2781173935459572e-05 0.0000000000000000e+00
+239 9.2232416915701703e-05 2.8983592081175541e-05 0.0000000000000000e+00
+240 1.1323768745207866e-04 2.2099480605147771e-05 0.0000000000000000e+00
+241 1.3459865563319741e-04 1.2703227752398906e-05 0.0000000000000000e+00
+242 1.5474472990034682e-04 4.9028952578147883e-06 0.0000000000000000e+00
+243 1.5215092550023015e-04 1.2097129719583488e-05 0.0000000000000000e+00
+244 1.7049283829256650e-04 9.1706083284784945e-06 0.0000000000000000e+00
+245 1.6776008627299133e-04 1.9099097427610624e-05 0.0000000000000000e+00
+246 1.8333367243371162e-04 2.1604042292807520e-05 0.0000000000000000e+00
+247 1.8008195062651708e-04 3.3615378061081087e-05 0.0000000000000000e+00
+248 1.9189650531499411e-04 3.9685789135164573e-05 0.0000000000000000e+00
+249 1.8783573502138761e-04 5.4407048131235179e-05 0.0000000000000000e+00
+250 1.9614236422538478e-04 6.1776442206818580e-05 0.0000000000000000e+00
+251 1.9089458289321614e-04 7.9516349638183995e-05 0.0000000000000000e+00
+252 1.9558796322159504e-04 8.6892146170328155e-05 0.0000000000000000e+00
+253 1.8874887732394583e-04 1.0500710476222600e-04 0.0000000000000000e+00
+254 1.9152092472987035e-04 1.1597519058197392e-04 0.0000000000000000e+00
+255 1.8256170726520249e-04 1.2813543516461412e-04 0.0000000000000000e+00
+256 1.8317412822647789e-04 1.4660018932962857e-04 0.0000000000000000e+00
+257 1.7255263462072589e-04 1.4676532692364173e-04 0.0000000000000000e+00
+258 1.7180488878385214e-04 1.7463142934331309e-04 0.0000000000000000e+00
+259 1.5968255923162790e-04 1.6112886872639011e-04 0.0000000000000000e+00
+260 1.5736418072846288e-04 1.9373036611985696e-04 0.0000000000000000e+00
+261 1.4438478717201006e-04 1.7104686393958903e-04 0.0000000000000000e+00
+262 1.4172732865070544e-04 1.9993397606046031e-04 0.0000000000000000e+00
+263 1.2780764883044244e-04 1.7581062997197168e-04 0.0000000000000000e+00
+264 1.2551429537422006e-04 1.9326020335803872e-04 0.0000000000000000e+00
+265 1.1143818436667695e-04 1.7279653463973672e-04 0.0000000000000000e+00
+266 1.1129339275113247e-04 1.7696772682632424e-04 0.0000000000000000e+00
+267 9.7026315827934351e-05 1.6059526683700199e-04 0.0000000000000000e+00
+268 1.0011077369688101e-04 1.5518094661065159e-04 0.0000000000000000e+00
+269 8.6522173578507114e-05 1.3949676203897713e-04 0.0000000000000000e+00
+270 9.3664351269599769e-05 1.3012327167812935e-04 0.0000000000000000e+00
+271 8.1291625785936272e-05 1.1272276579557331e-04 0.0000000000000000e+00
+272 9.2500602391673231e-05 1.0286100151558550e-04 0.0000000000000000e+00
+273 8.2174156364853157e-05 8.4321872533994066e-05 0.0000000000000000e+00
+274 9.7130125497925732e-05 7.4496044974704109e-05 0.0000000000000000e+00
+275 8.9034151680274584e-05 5.8030339746749375e-05 0.0000000000000000e+00
+276 1.0678389790186836e-04 4.7638087115883802e-05 0.0000000000000000e+00
+277 1.0119535639935181e-04 3.6303198355693708e-05 0.0000000000000000e+00
+278 1.2094537118731950e-04 2.5060744325496045e-05 0.0000000000000000e+00
+279 1.1693017924424426e-04 2.0976803055913763e-05 0.0000000000000000e+00
+280 1.3749539877318216e-04 1.0260590705305633e-05 0.0000000000000000e+00
+281 1.5664700963922696e-04 -2.3143582219387062e-06 0.0000000000000000e+00
+282 1.7213521099798126e-04 -1.0893217653461935e-05 0.0000000000000000e+00
+283 1.7163725578470403e-04 -2.7032144307298500e-06 0.0000000000000000e+00
+284 1.8302101438290170e-04 -4.7015876043674941e-06 0.0000000000000000e+00
+285 1.8408986700031230e-04 7.3762135624856621e-06 0.0000000000000000e+00
+286 1.9034465344562048e-04 1.1634737927368466e-05 0.0000000000000000e+00
+287 1.9261711656854316e-04 2.7002357232706195e-05 0.0000000000000000e+00
+288 1.9361558083412500e-04 3.5128829947321527e-05 0.0000000000000000e+00
+289 1.9675951681764233e-04 5.4504542291358708e-05 0.0000000000000000e+00
+290 1.9229119872704733e-04 6.3160704993402156e-05 0.0000000000000000e+00
+291 1.9589287639141945e-04 8.5624062570252574e-05 0.0000000000000000e+00
+292 1.8763172746254775e-04 9.5926064062507038e-05 0.0000000000000000e+00
+293 1.9144012028784324e-04 1.1574950605207010e-04 0.0000000000000000e+00
+294 1.7925388721026504e-04 1.3336630569376064e-04 0.0000000000000000e+00
+295 1.8325338492376081e-04 1.3941523897602475e-04 0.0000000000000000e+00
+296 1.7111384196688562e-04 1.7606151476373124e-04 0.0000000000000000e+00
+297 1.7441139798144990e-04 1.5854503282415543e-04 0.0000000000000000e+00
+298 1.6032326888461984e-04 2.1446583056531008e-04 0.0000000000000000e+00
+299 1.6387438500404321e-04 1.7460023770546828e-04 0.0000000000000000e+00
+300 1.5074052192984994e-04 2.4020838682409438e-04 0.0000000000000000e+00
+301 1.5148519378157811e-04 1.8980377776341359e-04 0.0000000000000000e+00
+302 1.3966552521236660e-04 2.4774151750977874e-04 0.0000000000000000e+00
+303 1.3793365457372421e-04 2.0064007271268226e-04 0.0000000000000000e+00
+304 1.2999175496236775e-04 2.3635880684653166e-04 0.0000000000000000e+00
+305 1.2445809284142433e-04 2.0319207617434042e-04 0.0000000000000000e+00
+306 1.2058479570330461e-04 2.1223162942725083e-04 0.0000000000000000e+00
+307 1.1335261202324864e-04 1.9202689248144918e-04 0.0000000000000000e+00
+308 1.1489966476687653e-04 1.8116775432026056e-04 0.0000000000000000e+00
+309 1.0607147008139182e-04 1.6763704556867280e-04 0.0000000000000000e+00
+310 1.1336585045824133e-04 1.4707143380834897e-04 0.0000000000000000e+00
+311 1.0344655043634243e-04 1.3351953844142965e-04 0.0000000000000000e+00
+312 1.1682664536528110e-04 1.1117223278055075e-04 0.0000000000000000e+00
+313 1.0584011765559926e-04 9.5633260364903774e-05 0.0000000000000000e+00
+314 1.2284574193182076e-04 7.5987122603626839e-05 0.0000000000000000e+00
+315 1.1395109003961985e-04 5.9134539871496392e-05 0.0000000000000000e+00
+316 1.3307867183720012e-04 4.1776312299002252e-05 0.0000000000000000e+00
+317 1.2588269209880162e-04 2.9470198058979825e-05 0.0000000000000000e+00
+318 1.4544292811228404e-04 1.3605886591663147e-05 0.0000000000000000e+00
+319 1.4084591944156649e-04 8.4739193403876596e-06 0.0000000000000000e+00
+320 1.5916834934516234e-04 -4.8366910892216897e-06 0.0000000000000000e+00
+321 1.7356992275325834e-04 -1.8042780077684453e-05 0.0000000000000000e+00
+322 1.8147503918697350e-04 -2.4540925551368165e-05 0.0000000000000000e+00
+323 1.8163463266840930e-04 -1.7130129888846129e-05 0.0000000000000000e+00
+324 1.8253898079463108e-04 -1.5598547575766951e-05 0.0000000000000000e+00
+325 1.8657806229653399e-04 -3.4133038182733444e-06 0.0000000000000000e+00
+326 1.8037702210949025e-04 5.3434050311440554e-06 0.0000000000000000e+00
+327 1.8771879764928681e-04 2.1715518823040016e-05 0.0000000000000000e+00
+328 1.7471074558026713e-04 3.4539745108762290e-05 0.0000000000000000e+00
+329 1.8460873128030577e-04 5.4984524671188725e-05 0.0000000000000000e+00
+330 1.6600292929781353e-04 6.9008728811924969e-05 0.0000000000000000e+00
+331 1.7796512641162431e-04 9.1385034689547154e-05 0.0000000000000000e+00
+332 1.5410918238014520e-04 1.0736588228516046e-04 0.0000000000000000e+00
+333 1.6795483683047752e-04 1.2318778434343078e-04 0.0000000000000000e+00
+334 1.4157775831030313e-04 1.5014040855437159e-04 0.0000000000000000e+00
+335 1.5785083269945281e-04 1.4650075439474400e-04 0.0000000000000000e+00
+336 1.2665633684184470e-04 1.9516493438247949e-04 0.0000000000000000e+00
+337 1.4652933492756114e-04 1.5825492457397368e-04 0.0000000000000000e+00
+338 1.2214547186144981e-04 2.4167794353872549e-04 0.0000000000000000e+00
+339 1.4180074826065196e-04 1.7604592446691659e-04 0.0000000000000000e+00
+340 1.1255092108513610e-04 2.7260123374319155e-04 0.0000000000000000e+00
+341 1.3761399094902802e-04 1.9706727165017120e-04 0.0000000000000000e+00
+342 1.1522842530577449e-04 2.7911375117613133e-04 0.0000000000000000e+00
+343 1.2918411829601699e-04 2.1803343236056900e-04 0.0000000000000000e+00
+344 1.1734351128622201e-04 2.6571681944023359e-04 0.0000000000000000e+00
+345 1.2254276275087787e-04 2.2432204295978476e-04 0.0000000000000000e+00
+346 1.1974443872507096e-04 2.3680090433102696e-04 0.0000000000000000e+00
+347 1.2071540692597284e-04 2.1269652219509870e-04 0.0000000000000000e+00
+348 1.2270101616137648e-04 1.9743779542515523e-04 0.0000000000000000e+00
+349 1.2264642729289398e-04 1.8508739809863369e-04 0.0000000000000000e+00
+350 1.3383017178927455e-04 1.5156768459346495e-04 0.0000000000000000e+00
+351 1.2577540617175406e-04 1.4740321111045147e-04 0.0000000000000000e+00
+352 1.4340773421068627e-04 1.1293118958385223e-04 0.0000000000000000e+00
+353 1.3341749813102418e-04 1.0072504549123244e-04 0.0000000000000000e+00
+354 1.5386164243670204e-04 7.2227623415051933e-05 0.0000000000000000e+00
+355 1.4204167491417043e-04 5.6498808092830119e-05 0.0000000000000000e+00
+356 1.6279824866213127e-04 3.3429940217178515e-05 0.0000000000000000e+00
+357 1.5267578941533281e-04 1.9709016910970241e-05 0.0000000000000000e+00
+358 1.7110318234027366e-04 1.1467794122178855e-06 0.0000000000000000e+00
+359 1.6340539277356244e-04 -5.5189289771696855e-06 0.0000000000000000e+00
+360 1.7740714701955653e-04 -1.8977834327990608e-05 0.0000000000000000e+00
+361 1.8452802730369313e-04 -2.8832061973687458e-05 0.0000000000000000e+00
+362 1.8186625712888205e-04 -2.9558136605260799e-05 0.0000000000000000e+00
+363 1.8024969476821697e-04 -2.5772260635909678e-05 0.0000000000000000e+00
+364 1.6761747789816595e-04 -1.7724478134172529e-05 0.0000000000000000e+00
+365 1.7295655435232461e-04 -8.2023972909357763e-06 0.0000000000000000e+00
+366 1.5167563906890865e-04 7.1136721706312189e-06 0.0000000000000000e+00
+367 1.6300729193455892e-04 2.1421261796460145e-05 0.0000000000000000e+00
+368 1.3513262146713916e-04 4.1132163185070293e-05 0.0000000000000000e+00
+369 1.5092813590493438e-04 5.9201618093873702e-05 0.0000000000000000e+00
+370 1.1841008358865480e-04 8.0419467894957835e-05 0.0000000000000000e+00
+371 1.3728404354778657e-04 9.8997396367778159e-05 0.0000000000000000e+00
+372 1.0207956567589023e-04 1.2179874114308306e-04 0.0000000000000000e+00
+373 1.2285830843381253e-04 1.3408468250307866e-04 0.0000000000000000e+00
+374 8.5374614775879387e-05 1.6300686953091837e-04 0.0000000000000000e+00
+375 1.0823800239604665e-04 1.5689628308888026e-04 0.0000000000000000e+00
+376 7.0794245443767117e-05 2.0076846781781206e-04 0.0000000000000000e+00
+377 9.4916240542002045e-05 1.6757505383186989e-04 0.0000000000000000e+00
+378 5.3305776376960658e-05 2.3409206018084466e-04 0.0000000000000000e+00
+379 9.7006448817647123e-05 1.6923635825827552e-04 0.0000000000000000e+00
+380 7.3465624650027872e-05 2.8247344576399282e-04 0.0000000000000000e+00
+381 1.0549927592481066e-04 2.0928780749128950e-04 0.0000000000000000e+00
+382 8.2435739649036618e-05 2.8810010190574649e-04 0.0000000000000000e+00
+383 1.0402453921892486e-04 2.4985200604758925e-04 0.0000000000000000e+00
+384 1.0698549586748876e-04 2.9499323828433428e-04 0.0000000000000000e+00
+385 1.0406074064549273e-04 2.4902814952768373e-04 0.0000000000000000e+00
+386 1.2548092418124016e-04 2.5651719838597350e-04 0.0000000000000000e+00
+387 1.2351646868146525e-04 2.1977784401163054e-04 0.0000000000000000e+00
+388 1.5004190410192569e-04 2.0137571208681400e-04 0.0000000000000000e+00
+389 1.3393580166351108e-04 1.9255393507981809e-04 0.0000000000000000e+00
+390 1.6295883087441844e-04 1.5199213302359484e-04 0.0000000000000000e+00
+391 1.5063751113547077e-04 1.4694859067203417e-04 0.0000000000000000e+00
+392 1.8000897081745795e-04 1.0619343548646192e-04 0.0000000000000000e+00
+393 1.6561309378602883e-04 9.7037670677296156e-05 0.0000000000000000e+00
+394 1.9382745100814531e-04 6.5648980655922534e-05 0.0000000000000000e+00
+395 1.7695741527044807e-04 4.9716511735790200e-05 0.0000000000000000e+00
+396 2.0065188597728214e-04 2.5746708320466968e-05 0.0000000000000000e+00
+397 1.8297867804266331e-04 1.0615003992406336e-05 0.0000000000000000e+00
+398 1.9982611540716595e-04 -6.5682876870518107e-06 0.0000000000000000e+00
+399 1.8556554896400902e-04 -1.6509803537161082e-05 0.0000000000000000e+00
+400 1.9312536581833663e-04 -2.5912353602364910e-05 0.0000000000000000e+00
+401 1.9023801410824606e-04 -2.7464462701394523e-05 0.0000000000000000e+00
+402 1.6698242474704196e-04 -2.2099770957974276e-05 0.0000000000000000e+00
+403 1.4243470745724796e-04 -2.3480099448894497e-06 0.0000000000000000e+00
+404 1.1876992118927330e-04 2.8893674554990122e-05 0.0000000000000000e+00
+405 9.7519654816455303e-05 6.7473438674861880e-05 0.0000000000000000e+00
+406 7.9406575250692843e-05 1.0857040090545463e-04 0.0000000000000000e+00
+407 6.4539515581651943e-05 1.4692649268945184e-04 0.0000000000000000e+00
+408 5.1587395282262643e-05 1.7813848972085620e-04 0.0000000000000000e+00
+409 3.9112490387149122e-05 1.9658956051422694e-04 0.0000000000000000e+00
+410 5.0646024795521216e-05 2.1400372314275622e-04 0.0000000000000000e+00
+411 5.0846759072495365e-05 2.4269431977691632e-04 0.0000000000000000e+00
+412 -1.1482904584733112e-04 -1.4373303263865990e-04 0.0000000000000000e+00
+413 1.5511043799162975e-04 2.5875085720661746e-04 0.0000000000000000e+00
+414 1.6626514293530906e-04 2.1735425519646309e-04 0.0000000000000000e+00
+415 1.8641734272053080e-04 1.7687638118890660e-04 0.0000000000000000e+00
+416 2.0380463041431767e-04 1.3085055646827544e-04 0.0000000000000000e+00
+417 2.1756044245783355e-04 8.4550353671555104e-05 0.0000000000000000e+00
+418 2.2486305540664193e-04 4.3653832482456800e-05 0.0000000000000000e+00
+419 2.2188236489361566e-04 7.6524745655054321e-06 0.0000000000000000e+00
+420 2.0949238720629205e-04 -1.7218568434280989e-05 0.0000000000000000e+00
diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp
index 249339191a26f3cf59ad24a9c93aaf762c24f61c..b17315ca0d5f99fccdc4049311efc226e3562057 100644
--- a/src/REPLICA/fix_neb.cpp
+++ b/src/REPLICA/fix_neb.cpp
@@ -27,24 +27,75 @@
 #include "memory.h"
 #include "error.h"
 #include "force.h"
+#include "math_const.h"
 
 using namespace LAMMPS_NS;
 using namespace FixConst;
+using namespace MathConst;
 
 enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC};
-
 /* ---------------------------------------------------------------------- */
 
 FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) :
-  Fix(lmp, narg, arg), id_pe(NULL), pe(NULL), xprev(NULL), xnext(NULL), 
-  tangent(NULL), xsend(NULL), xrecv(NULL), tagsend(NULL), tagrecv(NULL), 
-  xsendall(NULL), xrecvall(NULL), tagsendall(NULL), tagrecvall(NULL), 
-  counts(NULL), displacements(NULL)
+  Fix(lmp, narg, arg),
+  id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), xnext(NULL),
+  fnext(NULL), springF(NULL), tangent(NULL), xsend(NULL), xrecv(NULL),
+  fsend(NULL), frecv(NULL), tagsend(NULL), tagrecv(NULL),
+  xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL),
+  tagsendall(NULL), tagrecvall(NULL), counts(NULL),
+  displacements(NULL)
 {
-  if (narg != 4) error->all(FLERR,"Illegal fix neb command");
+
+  NEBLongRange=false;
+  StandardNEB=true;
+  PerpSpring=FreeEndIni=FreeEndFinal=false;
+  FreeEndFinalWithRespToEIni=FinalAndInterWithRespToEIni=false;
+
+  kspringPerp=0.0;
+  kspring2=1.0;
+  if (narg < 4)
+    error->all(FLERR,"Illegal fix neb command, argument missing");
 
   kspring = force->numeric(FLERR,arg[3]);
-  if (kspring <= 0.0) error->all(FLERR,"Illegal fix neb command");
+  if (kspring <= 0.0)
+    error->all(FLERR,"Illegal fix neb command."
+               " The spring force was not provided properly");
+
+  int iarg =4;
+  while (iarg < narg) {
+    if (strcmp (arg[iarg],"nudg_style")==0) {
+          if (strcmp (arg[iarg+1],"idealpos")==0) {
+	    NEBLongRange = true;
+	    iarg+=2;}
+	  else if (strcmp (arg[iarg+1],"neigh")==0) {
+	    NEBLongRange = false;
+	    StandardNEB = true;
+	    iarg+=2;}
+	  else error->all(FLERR,"Illegal fix neb command. Unknown keyword");}
+    else if (strcmp (arg[iarg],"perp")==0) {
+      PerpSpring=true;
+      kspringPerp = force->numeric(FLERR,arg[iarg+1]);
+      if (kspringPerp < 0.0)
+        error->all(FLERR,"Illegal fix neb command. "
+                   "The perpendicular spring force was not provided properly");
+      iarg+=2;} 
+    else if (strcmp (arg[iarg],"freeend")==0) {
+      if (strcmp (arg[iarg+1],"ini")==0)
+        FreeEndIni=true;
+      else if (strcmp (arg[iarg+1],"final")==0)
+        FreeEndFinal=true;
+      else if (strcmp (arg[iarg+1],"finaleini")==0)
+        FreeEndFinalWithRespToEIni=true;
+      else if (strcmp (arg[iarg+1],"final2eini")==0) {
+        FinalAndInterWithRespToEIni=true;
+        FreeEndFinalWithRespToEIni=true;}
+      else if (strcmp (arg[iarg+1],"none")!=0) error->all(FLERR,"Illegal fix neb command. Unknown keyword");
+      iarg+=2;} 
+    else if (strcmp (arg[iarg],"freeend_kspring")==0) {
+      kspring2=force->numeric(FLERR,arg[iarg+1]);
+      iarg+=2; }
+    else error->all(FLERR,"Illegal fix neb command. Unknown keyword");
+  }
 
   // nreplica = number of partitions
   // ireplica = which world I am in universe
@@ -62,7 +113,18 @@ FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) :
   else procprev = -1;
   if (ireplica < nreplica-1) procnext = universe->root_proc[ireplica+1];
   else procnext = -1;
+
   uworld = universe->uworld;
+  int *iroots = new int[nreplica];
+  MPI_Group uworldgroup,rootgroup;
+  if (NEBLongRange) {
+    for (int i=0; i<nreplica; i++)
+      iroots[i]=universe->root_proc[i];
+    MPI_Comm_group(uworld, &uworldgroup);
+    MPI_Group_incl(uworldgroup, nreplica, iroots, &rootgroup);
+    MPI_Comm_create(uworld, rootgroup, &rootworld);
+  }
+  delete[] iroots;
 
   // create a new compute pe style
   // id = fix-ID + pe, compute group = all
@@ -81,15 +143,8 @@ FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) :
 
   // initialize local storage
 
-  maxlocal = 0;
-  ntotal = 0;
-
-  xprev = xnext = tangent = NULL;
-  xsend = xrecv = NULL;
-  tagsend = tagrecv = NULL;
-  xsendall = xrecvall = NULL;
-  tagsendall = tagrecvall = NULL;
-  counts = displacements = NULL;
+  maxlocal = -1;
+  ntotal = -1;
 }
 
 /* ---------------------------------------------------------------------- */
@@ -102,19 +157,29 @@ FixNEB::~FixNEB()
   memory->destroy(xprev);
   memory->destroy(xnext);
   memory->destroy(tangent);
-
+  memory->destroy(fnext);
+  memory->destroy(springF);
   memory->destroy(xsend);
   memory->destroy(xrecv);
+  memory->destroy(fsend);
+  memory->destroy(frecv);
   memory->destroy(tagsend);
   memory->destroy(tagrecv);
 
   memory->destroy(xsendall);
   memory->destroy(xrecvall);
+  memory->destroy(fsendall);
+  memory->destroy(frecvall);
   memory->destroy(tagsendall);
   memory->destroy(tagrecvall);
 
   memory->destroy(counts);
   memory->destroy(displacements);
+
+  if (NEBLongRange) {
+    if (rootworld != MPI_COMM_NULL) MPI_Comm_free(&rootworld);
+    memory->destroy(nlenall);
+  }
 }
 
 /* ---------------------------------------------------------------------- */
@@ -148,7 +213,7 @@ void FixNEB::init()
   // comm mode for inter-replica exchange of coords
 
   if (nreplica == nprocs_universe &&
-      nebatoms == atom->natoms && atom->sortfreq == 0) 
+      nebatoms == atom->natoms && atom->sortfreq == 0)
     cmode = SINGLE_PROC_DIRECT;
   else if (nreplica == nprocs_universe) cmode = SINGLE_PROC_MAP;
   else cmode = MULTI_PROC;
@@ -158,11 +223,13 @@ void FixNEB::init()
   if (atom->natoms > MAXSMALLINT) error->all(FLERR,"Too many atoms for NEB");
   ntotal = atom->natoms;
 
-  if (atom->nlocal > maxlocal) reallocate();
+  if (atom->nmax > maxlocal) reallocate();
 
   if (MULTI_PROC && counts == NULL) {
     memory->create(xsendall,ntotal,3,"neb:xsendall");
     memory->create(xrecvall,ntotal,3,"neb:xrecvall");
+    memory->create(fsendall,ntotal,3,"neb:fsendall");
+    memory->create(frecvall,ntotal,3,"neb:frecvall");
     memory->create(tagsendall,ntotal,"neb:tagsendall");
     memory->create(tagrecvall,ntotal,"neb:tagrecvall");
     memory->create(counts,nprocs,"neb:counts");
@@ -185,19 +252,15 @@ void FixNEB::min_setup(int vflag)
 
 void FixNEB::min_post_force(int vflag)
 {
-  double vprev,vnext,vmax,vmin;
-  double delx,dely,delz;
-  double delta1[3],delta2[3];
-
-  // veng = PE of this replica
-  // vprev,vnext = PEs of adjacent replicas
-  // only proc 0 in each replica communicates
+  double vprev,vnext;
+  double delxp,delyp,delzp,delxn,delyn,delzn;
+  double vIni=0.0;
 
-  vprev = vnext = veng = pe->compute_scalar();
+  vprev=vnext=veng=pe->compute_scalar();
 
-  if (ireplica < nreplica-1 && me == 0) 
+  if (ireplica < nreplica-1 && me ==0)
     MPI_Send(&veng,1,MPI_DOUBLE,procnext,0,uworld);
-  if (ireplica > 0 && me == 0) 
+  if (ireplica > 0 && me ==0)
     MPI_Recv(&vprev,1,MPI_DOUBLE,procprev,0,uworld,MPI_STATUS_IGNORE);
 
   if (ireplica > 0 && me == 0)
@@ -210,116 +273,177 @@ void FixNEB::min_post_force(int vflag)
     MPI_Bcast(&vnext,1,MPI_DOUBLE,0,world);
   }
 
-  // communicate atoms to/from adjacent replicas to fill xprev,xnext
+  if (FreeEndFinal && (update->ntimestep == 0)) EFinalIni = veng;
+
+  if (ireplica == 0) vIni=veng;
+
+  if (FreeEndFinalWithRespToEIni) {
+    if (me == 0) {
+      int procFirst;
+      procFirst=universe->root_proc[0];
+      MPI_Bcast(&vIni,1,MPI_DOUBLE,procFirst,uworld);
+    }
+    if (cmode == MULTI_PROC) {
+      MPI_Bcast(&vIni,1,MPI_DOUBLE,0,world);
+    }
+  }
+  if (FreeEndIni && ireplica == 0) {
+    if (me == 0 )
+      if (update->ntimestep == 0) {
+        EIniIni = veng;
+        if (cmode == MULTI_PROC)
+          MPI_Bcast(&EIniIni,1,MPI_DOUBLE,0,world);
+      }
+  }
 
+  // communicate atoms to/from adjacent replicas to fill xprev,xnext
   inter_replica_comm();
 
   // trigger potential energy computation on next timestep
 
   pe->addstep(update->ntimestep+1);
 
-  // compute norm of GradV for log output
+  double **x = atom->x;
+  int *mask = atom->mask;
+  double dot = 0.0;
+  double prefactor = 0.0;
 
   double **f = atom->f;
   int nlocal = atom->nlocal;
 
-  double fsq = 0.0;
-  for (int i = 0; i < nlocal; i++)
-    fsq += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2];
-
-  MPI_Allreduce(&fsq,&gradvnorm,1,MPI_DOUBLE,MPI_SUM,world);
-  gradvnorm = sqrt(gradvnorm);
+  //calculating separation between images
 
-  // first or last replica has no change to forces, just return
-
-  if (ireplica == 0 || ireplica == nreplica-1) {
-    plen = nlen = 0.0;
-    return;
-  }
+  plen = 0.0;
+  nlen = 0.0;
+  double tlen = 0.0;
+  double gradnextlen = 0.0;
 
-  // tangent = unit tangent vector in 3N space
-  // based on delta vectors between atoms and their images in adjacent replicas
-  // use one or two delta vecs to compute tangent,
-  // depending on relative PEs of 3 replicas
-  // see Henkelman & Jonsson 2000 paper, eqs 8-11
+  dotgrad = gradlen = dotpath = dottangrad = 0.0;
 
-  double **x = atom->x;
-  int *mask = atom->mask;
+  if (ireplica == nreplica-1) {
 
-  if (vnext > veng && veng > vprev) {
     for (int i = 0; i < nlocal; i++)
       if (mask[i] & groupbit) {
-        tangent[i][0] = xnext[i][0] - x[i][0];
-        tangent[i][1] = xnext[i][1] - x[i][1];
-        tangent[i][2] = xnext[i][2] - x[i][2];
-        domain->minimum_image(tangent[i]);
+        delxp = x[i][0] - xprev[i][0];
+        delyp = x[i][1] - xprev[i][1];
+        delzp = x[i][2] - xprev[i][2];
+        domain->minimum_image(delxp,delyp,delzp);
+        plen += delxp*delxp + delyp*delyp + delzp*delzp;
+        dottangrad += delxp* f[i][0]+ delyp*f[i][1]+delzp*f[i][2];
+        gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2];
+        if (FreeEndFinal||FreeEndFinalWithRespToEIni) {
+          tangent[i][0]=delxp;
+          tangent[i][1]=delyp;
+          tangent[i][2]=delzp;
+          tlen += tangent[i][0]*tangent[i][0]
+            + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2];
+          dot += f[i][0]*tangent[i][0]
+            + f[i][1]*tangent[i][1] + f[i][2]*tangent[i][2];
+        }
       }
-  } else if (vnext < veng && veng < vprev) {
+
+  } else if (ireplica == 0) {
     for (int i = 0; i < nlocal; i++)
       if (mask[i] & groupbit) {
-        tangent[i][0] = x[i][0] - xprev[i][0];
-        tangent[i][1] = x[i][1] - xprev[i][1];
-        tangent[i][2] = x[i][2] - xprev[i][2];
-        domain->minimum_image(tangent[i]);
+        delxn = xnext[i][0] - x[i][0];
+        delyn = xnext[i][1] - x[i][1];
+        delzn = xnext[i][2] - x[i][2];
+        domain->minimum_image(delxn,delyn,delzn);
+        nlen += delxn*delxn + delyn*delyn + delzn*delzn;
+        gradnextlen += fnext[i][0]*fnext[i][0]
+          + fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2];
+        dotgrad += f[i][0]*fnext[i][0]
+          + f[i][1]*fnext[i][1] + f[i][2]*fnext[i][2];
+        dottangrad += delxn*f[i][0]+ delyn*f[i][1] + delzn*f[i][2];
+        gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2];
+        if (FreeEndIni) {
+          tangent[i][0]=delxn;
+          tangent[i][1]=delyn;
+          tangent[i][2]=delzn;
+          tlen += tangent[i][0]*tangent[i][0]
+            + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2];
+          dot += f[i][0]*tangent[i][0]
+            + f[i][1]*tangent[i][1] + f[i][2]*tangent[i][2];
+        }
       }
   } else {
-    vmax = MAX(fabs(vnext-veng),fabs(vprev-veng));
-    vmin = MIN(fabs(vnext-veng),fabs(vprev-veng));
+
+    // not the first or last replica
+
+    double vmax = MAX(fabs(vnext-veng),fabs(vprev-veng));
+    double vmin = MIN(fabs(vnext-veng),fabs(vprev-veng));
+
+
     for (int i = 0; i < nlocal; i++)
       if (mask[i] & groupbit) {
-        delta1[0] = xnext[i][0] - x[i][0];
-        delta1[1] = xnext[i][1] - x[i][1];
-        delta1[2] = xnext[i][2] - x[i][2];
-        domain->minimum_image(delta1);
-        delta2[0] = x[i][0] - xprev[i][0];
-        delta2[1] = x[i][1] - xprev[i][1];
-        delta2[2] = x[i][2] - xprev[i][2];
-        domain->minimum_image(delta2);
-        if (vnext > vprev) {
-          tangent[i][0] = vmax*delta1[0] + vmin*delta2[0];
-          tangent[i][1] = vmax*delta1[1] + vmin*delta2[1];
-          tangent[i][2] = vmax*delta1[2] + vmin*delta2[2];
+        delxp = x[i][0] - xprev[i][0];
+        delyp = x[i][1] - xprev[i][1];
+        delzp = x[i][2] - xprev[i][2];
+        domain->minimum_image(delxp,delyp,delzp);
+        plen += delxp*delxp + delyp*delyp + delzp*delzp;
+
+        delxn = xnext[i][0] - x[i][0];
+        delyn = xnext[i][1] - x[i][1];
+        delzn = xnext[i][2] - x[i][2];
+        domain->minimum_image(delxn,delyn,delzn);
+
+        if (vnext > veng && veng > vprev) {
+          tangent[i][0]=delxn;
+          tangent[i][1]=delyn;
+          tangent[i][2]=delzn;
+        } else if (vnext < veng && veng < vprev) {
+          tangent[i][0]=delxp;
+          tangent[i][1]=delyp;
+          tangent[i][2]=delzp;
         } else {
-          tangent[i][0] = vmin*delta1[0] + vmax*delta2[0];
-          tangent[i][1] = vmin*delta1[1] + vmax*delta2[1];
-          tangent[i][2] = vmin*delta1[2] + vmax*delta2[2];
+          if (vnext > vprev) {
+            tangent[i][0] = vmax*delxn + vmin*delxp;
+            tangent[i][1] = vmax*delyn + vmin*delyp;
+            tangent[i][2] = vmax*delzn + vmin*delzp;
+          } else {
+            tangent[i][0] = vmin*delxn + vmax*delxp;
+            tangent[i][1] = vmin*delyn + vmax*delyp;
+            tangent[i][2] = vmin*delzn + vmax*delzp;
+          }
         }
+
+        nlen += delxn*delxn + delyn*delyn + delzn*delzn;
+        tlen += tangent[i][0]*tangent[i][0]
+          + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2];
+        gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2];
+        dotpath += delxp*delxn + delyp*delyn + delzp*delzn;
+        dottangrad += tangent[i][0]* f[i][0]
+          + tangent[i][1]*f[i][1] + tangent[i][2]*f[i][2];
+        gradnextlen += fnext[i][0]*fnext[i][0]
+          + fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2];
+        dotgrad += f[i][0]*fnext[i][0]
+          + f[i][1]*fnext[i][1] + f[i][2]*fnext[i][2];
+
+        springF[i][0]=kspringPerp*(delxn-delxp);
+        springF[i][1]=kspringPerp*(delyn-delyp);
+        springF[i][2]=kspringPerp*(delzn-delzp);
       }
   }
 
-  // tlen,plen,nlen = lengths of tangent, prev, next vectors
-
-  double tlen = 0.0;
-  plen = 0.0;
-  nlen = 0.0;
-
-  for (int i = 0; i < nlocal; i++)
-    if (mask[i] & groupbit) {
-      tlen += tangent[i][0]*tangent[i][0] + tangent[i][1]*tangent[i][1] +
-        tangent[i][2]*tangent[i][2];
-
-      delx = x[i][0] - xprev[i][0];
-      dely = x[i][1] - xprev[i][1];
-      delz = x[i][2] - xprev[i][2];
-      domain->minimum_image(delx,dely,delz);
-      plen += delx*delx + dely*dely + delz*delz;
-
-      delx = xnext[i][0] - x[i][0];
-      dely = xnext[i][1] - x[i][1];
-      delz = xnext[i][2] - x[i][2];
-      domain->minimum_image(delx,dely,delz);
-      nlen += delx*delx + dely*dely + delz*delz;
-    }
-
-  double lenall;
-  MPI_Allreduce(&tlen,&lenall,1,MPI_DOUBLE,MPI_SUM,world);
-  tlen = sqrt(lenall);
-
-  MPI_Allreduce(&plen,&lenall,1,MPI_DOUBLE,MPI_SUM,world);
-  plen = sqrt(lenall);
-
-  MPI_Allreduce(&nlen,&lenall,1,MPI_DOUBLE,MPI_SUM,world);
-  nlen = sqrt(lenall);
+#define BUFSIZE 8
+  double bufin[BUFSIZE], bufout[BUFSIZE];
+  bufin[0] = nlen;
+  bufin[1] = plen;
+  bufin[2] = tlen;
+  bufin[3] = gradlen;
+  bufin[4] = gradnextlen;
+  bufin[5] = dotpath;
+  bufin[6] = dottangrad;
+  bufin[7] = dotgrad;
+  MPI_Allreduce(bufin,bufout,BUFSIZE,MPI_DOUBLE,MPI_SUM,world);
+  nlen = sqrt(bufout[0]);
+  plen = sqrt(bufout[1]);
+  tlen = sqrt(bufout[2]);
+  gradlen = sqrt(bufout[3]);
+  gradnextlen = sqrt(bufout[4]);
+  dotpath = bufout[5];
+  dottangrad = bufout[6];
+  dotgrad = bufout[7];
 
   // normalize tangent vector
 
@@ -333,37 +457,158 @@ void FixNEB::min_post_force(int vflag)
       }
   }
 
-  // reset force on each atom in this replica
-  // regular NEB for all replicas except rclimber does hill-climbing NEB
-  // currently have F = -Grad(V) = -Grad(V)_perp - Grad(V)_parallel
-  // want F = -Grad(V)_perp + Fspring for regular NEB
-  // thus Fdelta = Grad(V)_parallel + Fspring for regular NEB
-  // want F = -Grad(V) + 2 Grad(V)_parallel for hill-climbing NEB
-  // thus Fdelta = 2 Grad(V)_parallel for hill-climbing NEB
-  // Grad(V)_parallel = (Grad(V) . utan) * utangent = -(F . utan) * utangent
-  // Fspring = k (nlen - plen) * utangent
-  // see Henkelman & Jonsson 2000 paper, eqs 3,4,12
-  // see Henkelman & Jonsson 2000a paper, eq 5
+  // first or last replica has no change to forces, just return
+
+  if(ireplica>0 && ireplica<nreplica-1)
+    dottangrad = dottangrad/(tlen*gradlen);
+  if (ireplica == 0)
+    dottangrad = dottangrad/(nlen*gradlen);
+  if (ireplica == nreplica-1)
+    dottangrad = dottangrad/(plen*gradlen);
+  if (ireplica < nreplica-1)
+    dotgrad = dotgrad /(gradlen*gradnextlen);
+
+
+  if (FreeEndIni && ireplica == 0) {
+    if (tlen > 0.0) {
+      double dotall;
+      MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world);
+      dot=dotall/tlen;
+
+      if (dot<0) prefactor = -dot - kspring2*(veng-EIniIni);
+      else prefactor = -dot + kspring2*(veng-EIniIni);
+
+      for (int i = 0; i < nlocal; i++)
+        if (mask[i] & groupbit) {
+          f[i][0] += prefactor *tangent[i][0];
+          f[i][1] += prefactor *tangent[i][1];
+          f[i][2] += prefactor *tangent[i][2];
+        }
+    }
+  }
+
+  if (FreeEndFinal && ireplica == nreplica -1) {
+    if (tlen > 0.0) {
+      double dotall;
+      MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world);
+      dot=dotall/tlen;
+
+      if (dot<0) prefactor = -dot - kspring2*(veng-EFinalIni);
+      else prefactor = -dot + kspring2*(veng-EFinalIni);
+
+      for (int i = 0; i < nlocal; i++)
+        if (mask[i] & groupbit) {
+          f[i][0] += prefactor *tangent[i][0];
+          f[i][1] += prefactor *tangent[i][1];
+          f[i][2] += prefactor *tangent[i][2];
+        }
+    }
+  }
+
+  if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) {
+    if (tlen > 0.0) {
+      double dotall;
+      MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world);
+      dot=dotall/tlen;
+
+      if (dot<0) prefactor = -dot - kspring2*(veng-vIni);
+      else prefactor = -dot + kspring2*(veng-vIni);
+
+      for (int i = 0; i < nlocal; i++)
+        if (mask[i] & groupbit) {
+          f[i][0] += prefactor *tangent[i][0];
+          f[i][1] += prefactor *tangent[i][1];
+          f[i][2] += prefactor *tangent[i][2];
+        }
+    }
+  }
+
+  double lentot = 0;
+  double meanDist,idealPos,lenuntilIm,lenuntilClimber;
+  lenuntilClimber=0;
+  if (NEBLongRange) {
+    if (cmode == SINGLE_PROC_DIRECT || cmode == SINGLE_PROC_MAP) {
+      MPI_Allgather(&nlen,1,MPI_DOUBLE,&nlenall[0],1,MPI_DOUBLE,uworld);
+    } else {
+      if (me == 0)
+        MPI_Allgather(&nlen,1,MPI_DOUBLE,&nlenall[0],1,MPI_DOUBLE,rootworld);
+      MPI_Bcast(nlenall,nreplica,MPI_DOUBLE,0,world);
+    }
+
+    lenuntilIm = 0;
+    for (int i = 0; i < ireplica; i++)
+      lenuntilIm += nlenall[i];
+
+    for (int i = 0; i < nreplica; i++)
+      lentot += nlenall[i];
+
+    meanDist = lentot/(nreplica -1);
+
+    if (rclimber>0) {
+      for (int i = 0; i < rclimber; i++)
+        lenuntilClimber += nlenall[i];
+      double meanDistBeforeClimber = lenuntilClimber/rclimber;
+      double meanDistAfterClimber =
+        (lentot-lenuntilClimber)/(nreplica-rclimber-1);
+      if (ireplica<rclimber)
+        idealPos = ireplica * meanDistBeforeClimber;
+      else
+        idealPos = lenuntilClimber+ (ireplica-rclimber)*meanDistAfterClimber;
+    } else idealPos = ireplica * meanDist;
+  }
+
+  if (ireplica == 0 || ireplica == nreplica-1) return ;
+
+  double AngularContr;
+  dotpath = dotpath/(plen*nlen);
+  AngularContr = 0.5 *(1+cos(MY_PI * dotpath));
+
+  double dotSpringTangent;
+  dotSpringTangent=0;
 
-  double dot = 0.0;
   for (int i = 0; i < nlocal; i++) {
-    if (mask[i] & groupbit)
-      dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] +
-        f[i][2]*tangent[i][2];
+    if (mask[i] & groupbit) {
+      dot += f[i][0]*tangent[i][0]
+        + f[i][1]*tangent[i][1] + f[i][2]*tangent[i][2];
+      dotSpringTangent += springF[i][0]*tangent[i][0]
+        +springF[i][1]*tangent[i][1]+springF[i][2]*tangent[i][2];}
   }
 
+  double dotSpringTangentall;
+  MPI_Allreduce(&dotSpringTangent,&dotSpringTangentall,1,MPI_DOUBLE,MPI_SUM,world);
+  dotSpringTangent=dotSpringTangentall;
   double dotall;
   MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world);
+  dot=dotall;
+
+  if (ireplica == rclimber) prefactor = -2.0*dot;
+  else {
+    if (NEBLongRange) {
+      prefactor = -dot - kspring*(lenuntilIm-idealPos)/(2*meanDist);
+    } else if (StandardNEB) {
+      prefactor = -dot + kspring*(nlen-plen);
+    }
 
-  double prefactor;
-  if (ireplica == rclimber) prefactor = -2.0*dotall;
-  else prefactor = -dotall + kspring*(nlen-plen);
+    if (FinalAndInterWithRespToEIni&& veng<vIni) {
+      for (int i = 0; i < nlocal; i++)
+        if (mask[i] & groupbit) {
+          f[i][0] = 0;
+          f[i][1] = 0;
+          f[i][2] = 0;
+        }
+      prefactor =  kspring*(nlen-plen);
+      AngularContr=0;
+    }
+  }
 
   for (int i = 0; i < nlocal; i++)
     if (mask[i] & groupbit) {
-      f[i][0] += prefactor*tangent[i][0];
-      f[i][1] += prefactor*tangent[i][1];
-      f[i][2] += prefactor*tangent[i][2];
+      f[i][0] += prefactor*tangent[i][0]
+        +AngularContr*(springF[i][0] -dotSpringTangent*tangent[i][0]);
+      f[i][1] += prefactor*tangent[i][1]
+        + AngularContr*(springF[i][1] - dotSpringTangent*tangent[i][1]);
+      f[i][2] += prefactor*tangent[i][2]
+        + AngularContr*(springF[i][2] - dotSpringTangent*tangent[i][2]);
     }
 }
 
@@ -373,6 +618,7 @@ void FixNEB::min_post_force(int vflag)
    replicas 0 and N-1 send but do not receive any atoms
 ------------------------------------------------------------------------- */
 
+
 void FixNEB::inter_replica_comm()
 {
   int i,m;
@@ -382,9 +628,10 @@ void FixNEB::inter_replica_comm()
 
   // reallocate memory if necessary
 
-  if (atom->nlocal > maxlocal) reallocate();
+  if (atom->nmax > maxlocal) reallocate();
 
   double **x = atom->x;
+  double **f = atom->f;
   tagint *tag = atom->tag;
   int *mask = atom->mask;
   int nlocal = atom->nlocal;
@@ -395,7 +642,7 @@ void FixNEB::inter_replica_comm()
   // -----------------------------------------------------
 
   // single proc per replica
-  // all atoms are NEB atoms and no atom sorting is enabled
+  // all atoms are NEB atoms and no atom sorting
   // direct comm of x -> xprev and x -> xnext
 
   if (cmode == SINGLE_PROC_DIRECT) {
@@ -404,13 +651,18 @@ void FixNEB::inter_replica_comm()
     if (ireplica < nreplica-1)
       MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld);
     if (ireplica > 0) MPI_Wait(&request,MPI_STATUS_IGNORE);
-    
     if (ireplica < nreplica-1)
       MPI_Irecv(xnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request);
     if (ireplica > 0)
       MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld);
     if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE);
 
+    if (ireplica < nreplica-1)
+      MPI_Irecv(fnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request);
+    if (ireplica > 0)
+      MPI_Send(f[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld);
+    if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE);
+
     return;
   }
 
@@ -427,6 +679,9 @@ void FixNEB::inter_replica_comm()
         xsend[m][0] = x[i][0];
         xsend[m][1] = x[i][1];
         xsend[m][2] = x[i][2];
+        fsend[m][0] = f[i][0];
+        fsend[m][1] = f[i][1];
+        fsend[m][2] = f[i][2];
         m++;
       }
 
@@ -448,13 +703,14 @@ void FixNEB::inter_replica_comm()
         xprev[m][2] = xrecv[i][2];
       }
     }
-      
     if (ireplica < nreplica-1) {
       MPI_Irecv(xrecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]);
+      MPI_Irecv(frecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]);
       MPI_Irecv(tagrecv,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld,&requests[1]);
     }
     if (ireplica > 0) {
       MPI_Send(xsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld);
+      MPI_Send(fsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld);
       MPI_Send(tagsend,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld);
     }
 
@@ -465,6 +721,9 @@ void FixNEB::inter_replica_comm()
         xnext[m][0] = xrecv[i][0];
         xnext[m][1] = xrecv[i][1];
         xnext[m][2] = xrecv[i][2];
+        fnext[m][0] = frecv[i][0];
+        fnext[m][1] = frecv[i][1];
+        fnext[m][2] = frecv[i][2];
       }
     }
 
@@ -484,6 +743,9 @@ void FixNEB::inter_replica_comm()
       xsend[m][0] = x[i][0];
       xsend[m][1] = x[i][1];
       xsend[m][2] = x[i][2];
+      fsend[m][0] = f[i][0];
+      fsend[m][1] = f[i][1];
+      fsend[m][2] = f[i][2];
       m++;
     }
 
@@ -496,12 +758,17 @@ void FixNEB::inter_replica_comm()
   for (i = 0; i < nprocs; i++) counts[i] *= 3;
   for (i = 0; i < nprocs-1; i++)
     displacements[i+1] = displacements[i] + counts[i];
-  if (xsend)
+  if (xsend) {
     MPI_Gatherv(xsend[0],3*m,MPI_DOUBLE,
                 xsendall[0],counts,displacements,MPI_DOUBLE,0,world);
-  else
+    MPI_Gatherv(fsend[0],3*m,MPI_DOUBLE,
+                fsendall[0],counts,displacements,MPI_DOUBLE,0,world);
+  } else {
     MPI_Gatherv(NULL,3*m,MPI_DOUBLE,
                 xsendall[0],counts,displacements,MPI_DOUBLE,0,world);
+    MPI_Gatherv(NULL,3*m,MPI_DOUBLE,
+                fsendall[0],counts,displacements,MPI_DOUBLE,0,world);
+  }
 
   if (ireplica > 0 && me == 0) {
     MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]);
@@ -530,11 +797,13 @@ void FixNEB::inter_replica_comm()
 
   if (ireplica < nreplica-1 && me == 0) {
     MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]);
+    MPI_Irecv(frecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]);
     MPI_Irecv(tagrecvall,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld,
               &requests[1]);
   }
   if (ireplica > 0 && me == 0) {
     MPI_Send(xsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld);
+    MPI_Send(fsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld);
     MPI_Send(tagsendall,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld);
   }
 
@@ -543,6 +812,7 @@ void FixNEB::inter_replica_comm()
 
     MPI_Bcast(tagrecvall,nebatoms,MPI_INT,0,world);
     MPI_Bcast(xrecvall[0],3*nebatoms,MPI_DOUBLE,0,world);
+    MPI_Bcast(frecvall[0],3*nebatoms,MPI_DOUBLE,0,world);
 
     for (i = 0; i < nebatoms; i++) {
       m = atom->map(tagrecvall[i]);
@@ -550,10 +820,14 @@ void FixNEB::inter_replica_comm()
       xnext[m][0] = xrecvall[i][0];
       xnext[m][1] = xrecvall[i][1];
       xnext[m][2] = xrecvall[i][2];
+      fnext[m][0] = frecvall[i][0];
+      fnext[m][1] = frecvall[i][1];
+      fnext[m][2] = frecvall[i][2];
     }
   }
 }
 
+
 /* ----------------------------------------------------------------------
    reallocate xprev,xnext,tangent arrays if necessary
    reallocate communication arrays if necessary
@@ -561,27 +835,37 @@ void FixNEB::inter_replica_comm()
 
 void FixNEB::reallocate()
 {
+  maxlocal = atom->nmax;
+
   memory->destroy(xprev);
   memory->destroy(xnext);
   memory->destroy(tangent);
-
-  if (cmode != SINGLE_PROC_DIRECT) {
-    memory->destroy(xsend);
-    memory->destroy(xrecv);
-    memory->destroy(tagsend);
-    memory->destroy(tagrecv);
-  }
-
-  maxlocal = atom->nmax;
+  memory->destroy(fnext);
+  memory->destroy(springF);
 
   memory->create(xprev,maxlocal,3,"neb:xprev");
   memory->create(xnext,maxlocal,3,"neb:xnext");
   memory->create(tangent,maxlocal,3,"neb:tangent");
+  memory->create(fnext,maxlocal,3,"neb:fnext");
+  memory->create(springF,maxlocal,3,"neb:springF");
 
   if (cmode != SINGLE_PROC_DIRECT) {
+    memory->destroy(xsend);
+    memory->destroy(fsend);
+    memory->destroy(xrecv);
+    memory->destroy(frecv);
+    memory->destroy(tagsend);
+    memory->destroy(tagrecv);
     memory->create(xsend,maxlocal,3,"neb:xsend");
+    memory->create(fsend,maxlocal,3,"neb:fsend");
     memory->create(xrecv,maxlocal,3,"neb:xrecv");
+    memory->create(frecv,maxlocal,3,"neb:frecv");
     memory->create(tagsend,maxlocal,"neb:tagsend");
     memory->create(tagrecv,maxlocal,"neb:tagrecv");
   }
+
+  if (NEBLongRange) {
+    memory->destroy(nlenall);
+    memory->create(nlenall,nreplica,"neb:nlenall");
+  }
 }
diff --git a/src/REPLICA/fix_neb.h b/src/REPLICA/fix_neb.h
index 4026f84f1541aab1255c77f8178b23411ab88b5b..7e9e6db865e486fc76d3079c312dc2e46c781628 100644
--- a/src/REPLICA/fix_neb.h
+++ b/src/REPLICA/fix_neb.h
@@ -26,9 +26,8 @@ namespace LAMMPS_NS {
 
 class FixNEB : public Fix {
  public:
-  double veng,plen,nlen;
+  double veng,plen,nlen,dotpath,dottangrad,gradlen,dotgrad;
   int rclimber;
-  double gradvnorm;
 
   FixNEB(class LAMMPS *, int, char **);
   ~FixNEB();
@@ -39,27 +38,32 @@ class FixNEB : public Fix {
 
  private:
   int me,nprocs,nprocs_universe;
-  double kspring;
+  double kspring,kspring2,kspringPerp,EIniIni,EFinalIni;
+  bool StandardNEB,NEBLongRange,PerpSpring,FreeEndIni,FreeEndFinal;
+  bool FreeEndFinalWithRespToEIni,FinalAndInterWithRespToEIni;
   int ireplica,nreplica;
   int procnext,procprev;
   int cmode;
   MPI_Comm uworld;
+  MPI_Comm rootworld;
+
 
   char *id_pe;
   class Compute *pe;
 
-  int nebatoms;                // # of active NEB atoms
+  int nebatoms;
   int ntotal;                  // total # of atoms, NEB or not
   int maxlocal;                // size of xprev,xnext,tangent arrays
-
-  double **xprev,**xnext;      // coords of my owned atoms in neighbor replicas
-  double **tangent;            // work vector for inter-replica forces
-
+  double *nlenall;
+  double **xprev,**xnext,**fnext,**springF;
+  double **tangent;
   double **xsend,**xrecv;      // coords to send/recv to/from other replica
+  double **fsend,**frecv;      // coords to send/recv to/from other replica
   tagint *tagsend,*tagrecv;    // ditto for atom IDs
 
                                  // info gathered from all procs in my replica
   double **xsendall,**xrecvall;    // coords to send/recv to/from other replica
+  double **fsendall,**frecvall;    // force to send/recv to/from other replica
   tagint *tagsendall,*tagrecvall;  // ditto for atom IDs
 
   int *counts,*displacements;   // used for MPI_Gather
diff --git a/src/REPLICA/neb.cpp b/src/REPLICA/neb.cpp
index 03bd0b61e18b4ec2f15f7bff8c6d11c23710579b..1388a260ea71d4af72b43c0196e7e044e47cf92d 100644
--- a/src/REPLICA/neb.cpp
+++ b/src/REPLICA/neb.cpp
@@ -37,8 +37,10 @@
 #include "memory.h"
 #include "error.h"
 #include "force.h"
+#include "math_const.h"
 
 using namespace LAMMPS_NS;
+using namespace MathConst;
 
 #define MAXLINE 256
 #define CHUNK 1024
@@ -143,17 +145,19 @@ void NEB::command(int narg, char **arg)
   // process file-style setting to setup initial configs for all replicas
 
   if (strcmp(arg[5],"final") == 0) {
-    if (narg != 7) error->universe_all(FLERR,"Illegal NEB command");
+    if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB command");
     infile = arg[6];
     readfile(infile,0);
   } else if (strcmp(arg[5],"each") == 0) {
-    if (narg != 7) error->universe_all(FLERR,"Illegal NEB command");
+    if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB command");
     infile = arg[6];
     readfile(infile,1);
   } else if (strcmp(arg[5],"none") == 0) {
-    if (narg != 6) error->universe_all(FLERR,"Illegal NEB command");
+    if (narg != 6 && narg !=7) error->universe_all(FLERR,"Illegal NEB command");
   } else error->universe_all(FLERR,"Illegal NEB command");
 
+  verbose=false;
+  if (strcmp(arg[narg-1],"verbose") == 0) verbose=true;
   // run the NEB calculation
 
   run();
@@ -178,8 +182,9 @@ void NEB::run()
   if (ineb == modify->nfix) error->all(FLERR,"NEB requires use of fix neb");
 
   fneb = (FixNEB *) modify->fix[ineb];
-  nall = 4;
-  memory->create(all,nreplica,nall,"neb:all");
+  if (verbose) numall =7;
+  else  numall = 4;
+  memory->create(all,nreplica,numall,"neb:all");
   rdist = new double[nreplica];
 
   // initialize LAMMPS
@@ -195,9 +200,11 @@ void NEB::run()
     error->all(FLERR,"NEB requires damped dynamics minimizer");
 
   // setup regular NEB minimization
+  FILE *uscreen = universe->uscreen;
+  FILE *ulogfile = universe->ulogfile;
 
-  if (me_universe == 0 && universe->uscreen)
-    fprintf(universe->uscreen,"Setting up regular NEB ...\n");
+  if (me_universe == 0 && uscreen)
+    fprintf(uscreen,"Setting up regular NEB ...\n");
 
   update->beginstep = update->firststep = update->ntimestep;
   update->endstep = update->laststep = update->firststep + n1steps;
@@ -209,16 +216,33 @@ void NEB::run()
   update->minimize->setup();
 
   if (me_universe == 0) {
-    if (universe->uscreen)
-      fprintf(universe->uscreen,"Step MaxReplicaForce MaxAtomForce "
-              "GradV0 GradV1 GradVc "
-              "EBF EBR RDT "
-              "RD1 PE1 RD2 PE2 ... RDN PEN\n");
-    if (universe->ulogfile)
-      fprintf(universe->ulogfile,"Step MaxReplicaForce MaxAtomForce "
-              "GradV0 GradV1 GradVc "
-              "EBF EBR RDT "
-              "RD1 PE1 RD2 PE2 ... RDN PEN\n");
+    if (uscreen) {
+      if (verbose) {
+        fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... "
+                "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 "
+                "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 "
+                "... ReplicaForceN MaxAtomForceN\n");
+      } else {
+        fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... "
+                "RDN PEN\n");
+      }
+    }
+    
+    if (ulogfile) {    
+      if (verbose) {
+        fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... "
+                "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 "
+                "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 "
+                "... ReplicaForceN MaxAtomForceN\n");
+      } else {
+        fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... "
+                "RDN PEN\n");
+      }
+    }
   }
   print_status();
 
@@ -257,14 +281,14 @@ void NEB::run()
   // setup climbing NEB minimization
   // must reinitialize minimizer so it re-creates its fix MINIMIZE
 
-  if (me_universe == 0 && universe->uscreen)
-    fprintf(universe->uscreen,"Setting up climbing ...\n");
+  if (me_universe == 0 && uscreen)
+    fprintf(uscreen,"Setting up climbing ...\n");
 
   if (me_universe == 0) {
-    if (universe->uscreen)
-      fprintf(universe->uscreen,"Climbing replica = %d\n",top+1);
-    if (universe->ulogfile)
-      fprintf(universe->ulogfile,"Climbing replica = %d\n",top+1);
+    if (uscreen)
+      fprintf(uscreen,"Climbing replica = %d\n",top+1);
+    if (ulogfile)
+      fprintf(ulogfile,"Climbing replica = %d\n",top+1);
   }
 
   update->beginstep = update->firststep = update->ntimestep;
@@ -279,16 +303,34 @@ void NEB::run()
   update->minimize->setup();
 
   if (me_universe == 0) {
-    if (universe->uscreen)
-      fprintf(universe->uscreen,"Step MaxReplicaForce MaxAtomForce "
-              "GradV0 GradV1 GradVc "
-              "EBF EBR RDT "
-              "RD1 PE1 RD2 PE2 ... RDN PEN\n");
-    if (universe->ulogfile)
-      fprintf(universe->ulogfile,"Step MaxReplicaForce MaxAtomForce "
-              "GradV0 GradV1 GradVc "
-              "EBF EBR RDT "
-              "RD1 PE1 RD2 PE2 ... RDN PEN\n");
+    if (uscreen)
+      if (verbose) {
+        fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT "
+                "RD1 PE1 RD2 PE2 ... RDN PEN "
+                "pathangle1 angletangrad1 anglegrad1 gradV1 "
+                "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 "
+                "... ReplicaForceN MaxAtomForceN\n");
+      } else {
+        fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc "
+                "EBF EBR RDT "
+                "RD1 PE1 RD2 PE2 ... RDN PEN\n");
+      }
+    if (ulogfile)
+      if (verbose) {
+        fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc EBF EBR RDT "
+                "RD1 PE1 RD2 PE2 ... RDN PEN "
+                "pathangle1 angletangrad1 anglegrad1 gradV1 "
+                "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 "
+                "... ReplicaForceN MaxAtomForceN\n");
+      } else {
+        fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce "
+                "GradV0 GradV1 GradVc "
+                "EBF EBR RDT "
+                "RD1 PE1 RD2 PE2 ... RDN PEN\n");
+      }
   }
   print_status();
 
@@ -321,16 +363,16 @@ void NEB::run()
 /* ----------------------------------------------------------------------
    read initial config atom coords from file
    flag = 0
-     only first replica opens file and reads it
-     first replica bcasts lines to all replicas
-     final replica stores coords
-     intermediate replicas interpolate from coords
-       new coord = replica fraction between current and final state
-     initial replica does nothing
+   only first replica opens file and reads it
+   first replica bcasts lines to all replicas
+   final replica stores coords
+   intermediate replicas interpolate from coords
+   new coord = replica fraction between current and final state
+   initial replica does nothing
    flag = 1
-     each replica (except first) opens file and reads it
-     each replica stores coords
-     initial replica does nothing
+   each replica (except first) opens file and reads it
+   each replica stores coords
+   initial replica does nothing
 ------------------------------------------------------------------------- */
 
 void NEB::readfile(char *file, int flag)
@@ -539,16 +581,29 @@ void NEB::print_status()
   double fmaxatom;
   MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots);
 
-  double one[4];
+  if (verbose) {
+    freplica = new double[nreplica];
+    MPI_Allgather(&fnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots);
+    fmaxatomInRepl = new double[nreplica];
+    MPI_Allgather(&fnorminf,1,MPI_DOUBLE,&fmaxatomInRepl[0],1,MPI_DOUBLE,roots);
+  }
+
+  double one[numall];
   one[0] = fneb->veng;
   one[1] = fneb->plen;
   one[2] = fneb->nlen;
-  one[nall-1] = fneb->gradvnorm;
+  one[3] = fneb->gradlen;
+
+  if (verbose) {
+    one[4] = fneb->dotpath;
+    one[5] = fneb->dottangrad;
+    one[6] = fneb->dotgrad;
+  }
 
   if (output->thermo->normflag) one[0] /= atom->natoms;
   if (me == 0)
-    MPI_Allgather(one,nall,MPI_DOUBLE,&all[0][0],nall,MPI_DOUBLE,roots);
-  MPI_Bcast(&all[0][0],nall*nreplica,MPI_DOUBLE,0,world);
+    MPI_Allgather(one,numall,MPI_DOUBLE,&all[0][0],numall,MPI_DOUBLE,roots);
+  MPI_Bcast(&all[0][0],numall*nreplica,MPI_DOUBLE,0,world);
 
   rdist[0] = 0.0;
   for (int i = 1; i < nreplica; i++)
@@ -588,26 +643,56 @@ void NEB::print_status()
   }
 
   if (me_universe == 0) {
-    if (universe->uscreen) {
-      fprintf(universe->uscreen,BIGINT_FORMAT " %12.8g %12.8g ",
+    const double todeg=180.0/MY_PI;
+    FILE *uscreen = universe->uscreen;
+    FILE *ulogfile = universe->ulogfile;
+    if (uscreen) {
+      fprintf(uscreen,BIGINT_FORMAT " %12.8g %12.8g ",
               update->ntimestep,fmaxreplica,fmaxatom);
-      fprintf(universe->uscreen,"%12.8g %12.8g %12.8g ",
+      fprintf(uscreen,"%12.8g %12.8g %12.8g ",
               gradvnorm0,gradvnorm1,gradvnormc);
-      fprintf(universe->uscreen,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt);
+      fprintf(uscreen,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt);
       for (int i = 0; i < nreplica; i++)
-        fprintf(universe->uscreen,"%12.8g %12.8g ",rdist[i],all[i][0]);
-      fprintf(universe->uscreen,"\n");
+        fprintf(uscreen,"%12.8g %12.8g ",rdist[i],all[i][0]);
+      if (verbose) {
+        fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg,
+                all[0][3],freplica[0],fmaxatomInRepl[0]);  
+        for (int i = 1; i < nreplica-1; i++)
+          fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                  180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg,
+                  180-acos(all[i][6])*todeg,all[i][3],freplica[i],
+                  fmaxatomInRepl[i]);  
+        fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3],
+                freplica[nreplica-1],fmaxatomInRepl[nreplica-1]);  
+      }
+      fprintf(uscreen,"\n");
     }
-    if (universe->ulogfile) {
-      fprintf(universe->ulogfile,BIGINT_FORMAT " %12.8g %12.8g ",
+
+    if (ulogfile) {
+      fprintf(ulogfile,BIGINT_FORMAT " %12.8g %12.8g ",
               update->ntimestep,fmaxreplica,fmaxatom);
-      fprintf(universe->ulogfile,"%12.8g %12.8g %12.8g ",
+      fprintf(ulogfile,"%12.8g %12.8g %12.8g ",
               gradvnorm0,gradvnorm1,gradvnormc);
-      fprintf(universe->ulogfile,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt);
+      fprintf(ulogfile,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt);
       for (int i = 0; i < nreplica; i++)
-        fprintf(universe->ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]);
-      fprintf(universe->ulogfile,"\n");
-      fflush(universe->ulogfile);
+        fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]);
+      if (verbose) {
+        fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg,
+                all[0][3],freplica[0],fmaxatomInRepl[0]);  
+        for (int i = 1; i < nreplica-1; i++)
+          fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                  180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg,
+                  180-acos(all[i][6])*todeg,all[i][3],freplica[i],
+                  fmaxatomInRepl[i]);  
+        fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g",
+                NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3],
+                freplica[nreplica-1],fmaxatomInRepl[nreplica-1]);  
+      }
+      fprintf(ulogfile,"\n");
+      fflush(ulogfile);
     }
   }
 }
diff --git a/src/REPLICA/neb.h b/src/REPLICA/neb.h
index afedf0cdc5cb79ff891978fc4e20a0caa30cdc4c..8c2bcf9b165d459d8220c4ca5a448e9d2f771de5 100644
--- a/src/REPLICA/neb.h
+++ b/src/REPLICA/neb.h
@@ -38,6 +38,7 @@ class NEB : protected Pointers {
  private:
   int me,me_universe;          // my proc ID in world and universe
   int ireplica,nreplica;
+  bool verbose;
   MPI_Comm uworld;
   MPI_Comm roots;              // MPI comm with 1 root proc from each world
   FILE *fp;
@@ -49,9 +50,11 @@ class NEB : protected Pointers {
   char *infile;                // name of file containing final state
 
   class FixNEB *fneb;
-  int nall;                    // per-replica dimension of array all
+  int numall;                  // per-replica dimension of array all
   double **all;                // PE,plen,nlen,gradvnorm from each replica
   double *rdist;               // normalize reaction distance, 0 to 1
+  double *freplica;            // force on an image
+  double *fmaxatomInRepl;      // force on an image
 
   void readfile(char *, int);
   void open(char *);