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 1532 by gezelter, Wed Dec 29 19:59:21 2010 UTC vs.
Revision 1536 by gezelter, Wed Jan 5 14:49:05 2011 UTC

# Line 44 | Line 44
44  
45   #include "brains/SimInfo.hpp"
46   #include "types/AtomType.hpp"
47 #include "UseTheForce/ForceField.hpp"
47   #include "nonbonded/LJ.hpp"
48   #include "nonbonded/GB.hpp"
49   #include "nonbonded/Sticky.hpp"
# Line 58 | Line 57 | namespace OpenMD {
57   using namespace std;
58  
59   namespace OpenMD {
60 +  enum CutoffMethod {
61 +    HARD,
62 +    SWITCHED,
63 +    SHIFTED_POTENTIAL,
64 +    SHIFTED_FORCE
65 +  };
66 +
67    /**
68     * @class InteractionManager InteractionManager is responsible for
69     * keeping track of the non-bonded interactions (C++) and providing
# Line 67 | Line 73 | namespace OpenMD {
73  
74    public:
75      static InteractionManager* Instance();
76 <    static void setForceField(ForceField *ff) {forceField_ = ff;}
77 <    static void setCutoffRadius(RealType rcut) {rCut_ = rcut;}
72 <    static void setSwitchingRadius(RealType rsw) {rSwitch_ = rsw;}
73 <    static void setCutoffMethod(CutoffMethod cm) {cutoffMethod_ = cm;}
76 >    static void setSimInfo(SimInfo* info) {info_ = info;}
77 >    static void initialize();
78  
79      // Fortran support routines
80  
81      static void doPrePair(int *atid1, int *atid2, RealType *rij, RealType *rho_i_at_j, RealType *rho_j_at_i);
82      static void doPreForce(int *atid, RealType *rho, RealType *frho, RealType *dfrhodrho);
83 <    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);    
83 >    static void doPair(int *atid1, int *atid2, RealType *d, RealType *r, RealType *r2, RealType *sw, int *topoDist, RealType *A1, RealType *A2,  RealType *eFrame1, RealType *eFrame2, RealType *vpair, RealType *pot, RealType *f1,  RealType *t1, RealType *t2, RealType *rho1, RealType *rho2, RealType *dfrho1, RealType *dfrho2, RealType *fshift1, RealType *fshift2);    
84      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);
85      static void doSelfCorrection(int *atid, RealType *eFrame, RealType *skippedCharge, RealType *pot, RealType *t);
86      static RealType getSuggestedCutoffRadius(int *atid1);  
87      static RealType getSuggestedCutoffRadius(AtomType *atype);
88 <    static void setSwitch(RealType *rIn, RealType *rOut);
85 <    static void getSwitch(RealType *r2, RealType *sw, RealType *dswdr, RealType *r, int *in_switching_region);
88 >    void getSwitch(RealType *r2, RealType *sw, RealType *dswdr, RealType *r, int *in_switching_region);
89      
90    private:
91      virtual ~InteractionManager() { }
# Line 92 | Line 95 | namespace OpenMD {
95      InteractionManager& operator=(InteractionManager const&) {};
96      static InteractionManager* _instance;
97  
95    static void initialize();
98      static bool initialized_;
99  
100 <    static ForceField* forceField_;
100 >    static void setupCutoffs();
101 >    static void setupSwitching();
102 >    static void setupNeighborlists();
103 >
104 >    static SimInfo* info_;
105      static LJ* lj_;
106      static GB* gb_;
107      static Sticky* sticky_;
# Line 106 | Line 112 | namespace OpenMD {
112      static MAW* maw_;
113      static SwitchingFunction* switcher_;
114  
115 <    static RealType rCut_;
116 <    static RealType rSwitch_;
117 <    static CutoffMethod cutoffMethod_;
115 >    static RealType rCut_;            /**< cutoff radius for non-bonded interactions */
116 >    static RealType rSwitch_;         /**< inner radius of switching function */
117 >    static CutoffMethod cutoffMethod_;/**< Cutoff Method for most non-bonded interactions */
118 >    static SwitchingFunctionType sft_;/**< Type of switching function in use */
119 >    static RealType listRadius_;      /**< Verlet neighbor list radius */
120 >    static RealType skinThickness_;   /**< Verlet neighbor list skin thickness */    
121  
122      static RealType vdwScale_[4];
123      static RealType electrostaticScale_[4];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines