00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _ALGLUE_H
00011 #define _ALGLUE_H
00012
00013 #include "mdparallel.h"
00014
00015 extern void v2(double, double *, double *, double *);
00016 extern void rh(double, double *, double *, double *);
00017 extern void uu(double, double *, double *, double *);
00018
00019 class ALGLUEFrame : public MDPARALLELFrame
00020 {
00021 public:
00022 int pottype;
00023
00024
00025 #define NGRID 20001
00026 double invdeltarsq,invdeltacoord,deltacoord;
00027 double phitab[NGRID],dphitab[NGRID],rhotab[NGRID],drhotab[NGRID];
00028 double utab[NGRID],dutab[NGRID];
00029 double rcutoff,rmin,rsqmin,deltarsq,coordmax;
00030
00031 double *deru, *coord;
00032 Vector3 *rijstore;
00033
00034 ALGLUEFrame():deru(0),coord(0),rijstore(0) {};
00035
00036 virtual void potential ();
00037 int initglue();
00038 int al_glue();
00039
00040 virtual void Alloc();
00041 virtual void initvars();
00042 virtual void initparser();
00043
00044 virtual int exec(char *nam);
00045
00046 };
00047
00048
00049 #endif // _EAM_H
00050