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 1530 by gezelter, Tue Dec 28 21:47:55 2010 UTC

# Line 52 | Line 52
52   #include "nonbonded/SC.hpp"
53   #include "nonbonded/Morse.hpp"
54   #include "nonbonded/Electrostatic.hpp"
55 + #include "nonbonded/SwitchingFunction.hpp"
56  
57   using namespace std;
58  
# Line 65 | Line 66 | namespace OpenMD {
66  
67    public:
68      static InteractionManager* Instance();
69 <    static void setForceField(ForceField *ff) {forceField_ = ff;};    
69 >    static void setForceField(ForceField *ff) {forceField_ = ff;}
70 >    static void setCutoffRadius(RealType rcut) {rCut_ = rcut;}
71 >    static void setSwitchingRadius(RealType rsw) {rSwitch_ = rsw;}
72 >    static void setCutoffMethod(CutoffMethod cm) {cutoffMethod_ = cm;}
73  
70
71
74      // Fortran support routines
75  
76      static void doPrePair(int *atid1, int *atid2, RealType *rij, RealType *rho_i_at_j, RealType *rho_j_at_i);
77      static void doPreForce(int *atid, RealType *rho, RealType *frho, RealType *dfrhodrho);
78 <    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);    
78 >    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);    
79      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);
80      static void doSelfCorrection(int *atid, RealType *eFrame, RealType *skippedCharge, RealType *pot, RealType *t);
81      static RealType getSuggestedCutoffRadius(int *atid1);  
82 +    static RealType getSuggestedCutoffRadius(AtomType *atype);
83 +    static void setSwitch(RealType *rIn, RealType *rOut);
84 +    static void getSwitch(RealType *r2, RealType *sw, RealType *dswdr, RealType *r, int *in_switching_region);
85      
86    private:
87      virtual ~InteractionManager() { }
# Line 97 | Line 102 | namespace OpenMD {
102      static SC* sc_;
103      static Morse* morse_;
104      static Electrostatic* electrostatic_;
105 +    static SwitchingFunction* switcher_;
106  
107 +    static RealType rCut_;
108 +    static RealType rSwitch_;
109 +    static CutoffMethod cutoffMethod_;
110 +
111 +    static RealType vdwScale_[4];
112 +    static RealType electrostaticScale_[4];
113 +  
114      static map<int, AtomType*> typeMap_;
115      /**
116       * Each pair of atom types can have multiple interactions, so the
117       * natural data structures are a map between the pair, and a set
118       * of non-bonded interactions.
119       */
120 <    static map<pair<AtomType*, AtomType*>, set<NonBondedInteraction*> > interactions_;
108 <    
120 >    static map<pair<AtomType*, AtomType*>, set<NonBondedInteraction*> > interactions_;    
121    };
122   }
123   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines