#ifdef COMPUTE_CLASS
ComputeStyle(fep,ComputeFEP)
#else
#ifndef COMPUTE_FEP_H
#define COMPUTE_FEP_H
#include "compute.h"
namespace LAMMPS_NS {
class ComputeFEP : public Compute {
public:
ComputeFEP(class LAMMPS *, int, char **);
~ComputeFEP();
void init();
void compute_vector();
private:
int npert;
int pairflag;
int chgflag;
int tailflag, volumeflag;
int fepinitflag;
int eflag, vflag;
double temp_fep;
int nmax;
double *q_orig;
double **f_orig;
double eng_vdwl_orig,eng_coul_orig;
double pvirial_orig[6];
double *peatom_orig,**pvatom_orig;
double energy_orig;
double kvirial_orig[6];
double *keatom_orig,**kvatom_orig;
class Fix *fixgpu;
struct Perturb {
int which,ivar;
char *var;
char *pstyle,*pparam;
int ilo,ihi,jlo,jhi;
int pdim;
double **array,**array_orig;
int aparam;
};
Perturb *perturb;
double compute_epair();
void perturb_params();
void backup_params();
void restore_params();
void allocate_storage();
void deallocate_storage();
void backup_qfev();
void restore_qfev();
};
}
#endif
#endif