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 1505 by gezelter, Sun Oct 3 22:18:59 2010 UTC vs.
Revision 1584 by gezelter, Fri Jun 17 20:16: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 <    virtual void calcForce(InteractionData idat);
89 <    virtual void calcSkipCorrection(SkipCorrectionData skdat);
90 <    virtual void calcSelfCorrection(SelfCorrectionData scdat);
88 >    virtual void calcForce(InteractionData &idat);
89 >    virtual void calcSkipCorrection(InteractionData &idat);
90 >    virtual void calcSelfCorrection(SelfData &sdat);
91      virtual string getName() {return name_;}
92 <    virtual RealType getSuggestedCutoffRadius(AtomType* at1, AtomType* at2);
93 <
94 <    void setElectrostaticCutoffRadius( RealType theECR, RealType theRSW );
92 >    virtual RealType getSuggestedCutoffRadius(pair<AtomType*, AtomType*> atypes);
93 >    void setCutoffRadius( RealType rCut );
94 >    void setSwitchingRadius( RealType rSwitch );
95      void setElectrostaticSummationMethod( ElectrostaticSummationMethod esm );
96      void setElectrostaticScreeningMethod( ElectrostaticScreeningMethod sm );
97      void setDampingAlpha( RealType alpha );
# Line 99 | Line 101 | namespace OpenMD {
101      void initialize();
102      string name_;
103      bool initialized_;
104 <    bool haveDefaultCutoff_;
104 >    bool haveCutoffRadius_;
105      bool haveDampingAlpha_;
106      bool haveDielectric_;
107      bool haveElectroSpline_;
108      std::map<int, AtomType*> ElectrostaticList;
109      std::map<AtomType*, ElectrostaticAtomData> ElectrostaticMap;
110 +    SimInfo* info_;
111      ForceField* forceField_;
112 <    RealType defaultCutoff_;
113 <    RealType defaultCutoff2_;
112 >    RealType cutoffRadius_;
113 >    RealType cutoffRadius2_;
114      RealType pre11_;
115      RealType pre12_;
116      RealType pre22_;
# Line 118 | Line 121 | namespace OpenMD {
121      int np_;
122      ElectrostaticSummationMethod summationMethod_;    
123      ElectrostaticScreeningMethod screeningMethod_;
124 +    map<string, ElectrostaticSummationMethod> summationMap_;
125 +    map<string, ElectrostaticScreeningMethod> screeningMap_;
126      RealType dampingAlpha_;
127      RealType alpha2_;
128      RealType alpha4_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines