ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/nonbonded/InteractionManager.hpp
(Generate patch)

Comparing branches/development/src/nonbonded/InteractionManager.hpp (file contents):
Revision 1528 by gezelter, Fri Dec 17 20:11:05 2010 UTC vs.
Revision 1532 by gezelter, Wed Dec 29 19:59:21 2010 UTC

# Line 52 | Line 52
52   #include "nonbonded/SC.hpp"
53   #include "nonbonded/Morse.hpp"
54   #include "nonbonded/Electrostatic.hpp"
55 + #include "nonbonded/MAW.hpp"
56 + #include "nonbonded/SwitchingFunction.hpp"
57  
58   using namespace std;
59  
# Line 65 | Line 67 | namespace OpenMD {
67  
68    public:
69      static InteractionManager* Instance();
70 <    static void setForceField(ForceField *ff) {forceField_ = ff;};    
70 >    static void setForceField(ForceField *ff) {forceField_ = ff;}
71 >    static void setCutoffRadius(RealType rcut) {rCut_ = rcut;}
72 >    static void setSwitchingRadius(RealType rsw) {rSwitch_ = rsw;}
73 >    static void setCutoffMethod(CutoffMethod cm) {cutoffMethod_ = cm;}
74  
70    static void setCutoffRadius(RealType rcut);
71    static void setSwitchingRadius(RealType rsw);
72    static void useShiftedForce();
73    static void useShiftedPot();
74
75      // Fortran support routines
76  
77      static void doPrePair(int *atid1, int *atid2, RealType *rij, RealType *rho_i_at_j, RealType *rho_j_at_i);
78      static void doPreForce(int *atid, RealType *rho, RealType *frho, RealType *dfrhodrho);
79 <    static void doPair(int *atid1, int *atid2, RealType *d, RealType *r, RealType *r2, RealType *rcut, RealType *sw, RealType *vdwMult,RealType *electroMult, RealType *pot, RealType *vpair, RealType *f1, RealType *eFrame1, RealType *eFrame2, RealType *A1, RealType *A2, RealType *t1, RealType *t2, RealType *rho1, RealType *rho2, RealType *dfrho1, RealType *dfrho2, RealType *fshift1, RealType *fshift2);    
79 >    static void doPair(int *atid1, int *atid2, RealType *d, RealType *r, RealType *r2, RealType *rcut, RealType *sw, int *topoDist, RealType *pot, RealType *vpair, RealType *f1, RealType *eFrame1, RealType *eFrame2, RealType *A1, RealType *A2, RealType *t1, RealType *t2, RealType *rho1, RealType *rho2, RealType *dfrho1, RealType *dfrho2, RealType *fshift1, RealType *fshift2);    
80      static void doSkipCorrection(int *atid1, int *atid2, RealType *d, RealType *r, RealType *skippedCharge1, RealType *skippedCharge2, RealType *sw, RealType *electroMult, RealType *pot, RealType *vpair, RealType *f1, RealType *eFrame1, RealType *eFrame2, RealType *t1, RealType *t2);
81      static void doSelfCorrection(int *atid, RealType *eFrame, RealType *skippedCharge, RealType *pot, RealType *t);
82      static RealType getSuggestedCutoffRadius(int *atid1);  
83 <    static RealType getSuggestedCutoffRadius(AtomType *atype);  
83 >    static RealType getSuggestedCutoffRadius(AtomType *atype);
84 >    static void setSwitch(RealType *rIn, RealType *rOut);
85 >    static void getSwitch(RealType *r2, RealType *sw, RealType *dswdr, RealType *r, int *in_switching_region);
86      
87    private:
88      virtual ~InteractionManager() { }
# Line 101 | Line 103 | namespace OpenMD {
103      static SC* sc_;
104      static Morse* morse_;
105      static Electrostatic* electrostatic_;
106 +    static MAW* maw_;
107 +    static SwitchingFunction* switcher_;
108  
109 +    static RealType rCut_;
110 +    static RealType rSwitch_;
111 +    static CutoffMethod cutoffMethod_;
112 +
113 +    static RealType vdwScale_[4];
114 +    static RealType electrostaticScale_[4];
115 +  
116      static map<int, AtomType*> typeMap_;
117      /**
118       * Each pair of atom types can have multiple interactions, so the

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines