00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef _SWLJ_H
00016 #define _SWLJ_H
00017
00018 #include "mdparallel.h"
00019
00020 #define LJ_ENERGY 2.314999998 //silicon energy
00021 #define LJ_LENGTH 2.0951 //silicon length sigma
00022 #define LJ_RC 3.77118 //cuttoff for LJ
00023
00024 class SWFrame : public MDPARALLELFrame
00025 {
00026
00027 double psig, pepsi, aa, bb, plam, pgam, acut, pss, rho;
00028 double rho1, acutsq;
00029
00030
00031 double _ALJ,_BLJ;
00032 double ALJ,BLJ;
00033 double Uc,DUDRc;
00034
00035 Vector3 tipforce;
00036
00037 public:
00038 SWFrame(){};
00039 void stillinger_weber();
00040 void stillinger_weber_energyonly();
00041 double stillinger_weber_energyonly(int iatom);
00042 virtual void potential();
00043 virtual void potential_energyonly();
00044 virtual double potential_energyonly(int iatom);
00045 virtual void initvars();
00046
00047 virtual void initparser();
00048 virtual int exec(char *name);
00049 virtual void calcprop();
00050
00051 void initLJ();
00052
00053 };
00054
00055
00056
00057 #endif // _SWLJ_H
00058