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

Comparing branches/development/src/nonbonded/Electrostatic.hpp (file contents):
Revision 1502 by gezelter, Sat Oct 2 19:53:32 2010 UTC vs.
Revision 1601 by gezelter, Thu Aug 4 20:04:35 2011 UTC

# Line 47 | Line 47
47   #include "UseTheForce/ForceField.hpp"
48   #include "math/SquareMatrix3.hpp"
49   #include "math/CubicSpline.hpp"
50 + #include "brains/SimInfo.hpp"
51  
52   namespace OpenMD {
53  
# Line 62 | Line 63 | namespace OpenMD {
63    };
64    
65    enum ElectrostaticSummationMethod{
66 <    NONE,
67 <    SWITCHING_FUNCTION,
68 <    SHIFTED_POTENTIAL,
69 <    SHIFTED_FORCE,
70 <    REACTION_FIELD,
71 <    EWALD_FULL,  /**< Ewald methods aren't supported yet */
72 <    EWALD_PME,   /**< Ewald methods aren't supported yet */
73 <    EWALD_SPME   /**< Ewald methods aren't supported yet */
66 >    esm_HARD,
67 >    esm_SWITCHING_FUNCTION,
68 >    esm_SHIFTED_POTENTIAL,
69 >    esm_SHIFTED_FORCE,
70 >    esm_REACTION_FIELD,
71 >    esm_EWALD_FULL,  /**< Ewald methods aren't supported yet */
72 >    esm_EWALD_PME,   /**< Ewald methods aren't supported yet */
73 >    esm_EWALD_SPME   /**< Ewald methods aren't supported yet */
74    };
75  
76    enum ElectrostaticScreeningMethod{
# Line 82 | Line 83 | namespace OpenMD {
83    public:    
84      Electrostatic();
85      void setForceField(ForceField *ff) {forceField_ = ff;};
86 +    void setSimInfo(SimInfo* info) {info_ = info;};
87      void addType(AtomType* atomType);
88 <    void calcForce(InteractionData idat);
89 <    void calcSkipCorrection(SkipCorrectionData skdat);
88 <    void calcSelfCorrection(SelfCorrectionData scdat);
88 >    virtual void calcForce(InteractionData &idat);
89 >    virtual void calcSelfCorrection(SelfData &sdat);
90      virtual string getName() {return name_;}
91 <
92 <    void setElectrostaticCutoffRadius( RealType theECR, RealType theRSW );
91 >    virtual RealType getSuggestedCutoffRadius(pair<AtomType*, AtomType*> atypes);
92 >    void setCutoffRadius( RealType rCut );
93 >    void setSwitchingRadius( RealType rSwitch );
94      void setElectrostaticSummationMethod( ElectrostaticSummationMethod esm );
95      void setElectrostaticScreeningMethod( ElectrostaticScreeningMethod sm );
96      void setDampingAlpha( RealType alpha );
# Line 98 | Line 100 | namespace OpenMD {
100      void initialize();
101      string name_;
102      bool initialized_;
103 <    bool haveDefaultCutoff_;
103 >    bool haveCutoffRadius_;
104      bool haveDampingAlpha_;
105      bool haveDielectric_;
106      bool haveElectroSpline_;
107      std::map<int, AtomType*> ElectrostaticList;
108      std::map<AtomType*, ElectrostaticAtomData> ElectrostaticMap;
109 +    SimInfo* info_;
110      ForceField* forceField_;
111 <    RealType defaultCutoff_;
112 <    RealType defaultCutoff2_;
111 >    RealType cutoffRadius_;
112 >    RealType cutoffRadius2_;
113      RealType pre11_;
114      RealType pre12_;
115      RealType pre22_;
# Line 117 | Line 120 | namespace OpenMD {
120      int np_;
121      ElectrostaticSummationMethod summationMethod_;    
122      ElectrostaticScreeningMethod screeningMethod_;
123 +    map<string, ElectrostaticSummationMethod> summationMap_;
124 +    map<string, ElectrostaticScreeningMethod> screeningMap_;
125      RealType dampingAlpha_;
126      RealType alpha2_;
127      RealType alpha4_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines