#ifdef FIX_CLASS
FixStyle(neb,FixNEB)
#else
#ifndef LMP_FIX_NEB_H
#define LMP_FIX_NEB_H
#include "fix.h"
namespace LAMMPS_NS {
class FixNEB : public Fix {
public:
double veng,plen,nlen,dotpath,dottangrad,gradlen,dotgrad;
int rclimber;
FixNEB(class LAMMPS *, int, char **);
~FixNEB();
int setmask();
void init();
void min_setup(int);
void min_post_force(int);
private:
int me,nprocs,nprocs_universe;
double kspring,kspringIni,kspringFinal,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;
int ntotal; int maxlocal; double *nlenall;
double **xprev,**xnext,**fnext,**springF;
double **tangent;
double **xsend,**xrecv; double **fsend,**frecv; tagint *tagsend,*tagrecv;
double **xsendall,**xrecvall; double **fsendall,**frecvall; tagint *tagsendall,*tagrecvall;
int *counts,*displacements;
void inter_replica_comm();
void reallocate();
};
}
#endif
#endif