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 1530 by gezelter, Tue Dec 28 21:47:55 2010 UTC vs.
Revision 1535 by gezelter, Fri Dec 31 18:31:56 2010 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 52 | Line 51
51   #include "nonbonded/SC.hpp"
52   #include "nonbonded/Morse.hpp"
53   #include "nonbonded/Electrostatic.hpp"
54 + #include "nonbonded/MAW.hpp"
55   #include "nonbonded/SwitchingFunction.hpp"
56  
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 66 | 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;}
71 <    static void setSwitchingRadius(RealType rsw) {rSwitch_ = rsw;}
72 <    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  
# Line 91 | Line 96 | namespace OpenMD {
96      InteractionManager& operator=(InteractionManager const&) {};
97      static InteractionManager* _instance;
98  
94    static void initialize();
99      static bool initialized_;
100  
101 <    static ForceField* forceField_;
101 >    static void setupCutoffs();
102 >    static void setupSwitching();
103 >    static void setupNeighborlists();
104 >
105 >    static SimInfo* info_;
106      static LJ* lj_;
107      static GB* gb_;
108      static Sticky* sticky_;
# Line 102 | Line 110 | namespace OpenMD {
110      static SC* sc_;
111      static Morse* morse_;
112      static Electrostatic* electrostatic_;
113 +    static MAW* maw_;
114      static SwitchingFunction* switcher_;
115  
116 <    static RealType rCut_;
117 <    static RealType rSwitch_;
118 <    static CutoffMethod cutoffMethod_;
116 >    static RealType rCut_;            /**< cutoff radius for non-bonded interactions */
117 >    static RealType rSwitch_;         /**< inner radius of switching function */
118 >    static CutoffMethod cutoffMethod_;/**< Cutoff Method for most non-bonded interactions */
119 >    static SwitchingFunctionType sft_;/**< Type of switching function in use */
120 >    static RealType listRadius_;      /**< Verlet neighbor list radius */
121 >    static RealType skinThickness_;   /**< Verlet neighbor list skin thickness */    
122  
123      static RealType vdwScale_[4];
124      static RealType electrostaticScale_[4];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines