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 1505 by gezelter, Sun Oct 3 22:18:59 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
71
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);
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 97 | 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
119       * natural data structures are a map between the pair, and a set
120       * of non-bonded interactions.
121       */
122 <    static map<pair<AtomType*, AtomType*>, set<NonBondedInteraction*> > interactions_;
108 <    
122 >    static map<pair<AtomType*, AtomType*>, set<NonBondedInteraction*> > interactions_;    
123    };
124   }
125   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines