91 class Electrostatic :
public ElectrostaticInteraction {
96 void setSimulatedAtomTypes(AtomTypeSet& simtypes);
97 void setSimInfo(
SimInfo* info) { info_ = info; };
100 virtual void calcSelfCorrection(
SelfData& sdat);
101 virtual string getName() {
return name_; }
102 virtual RealType getSuggestedCutoffRadius(
103 pair<AtomType*, AtomType*> atypes);
104 void setCutoffRadius(RealType rCut);
106 void setElectrostaticScreeningMethod(ElectrostaticScreeningMethod sm);
107 void setDampingAlpha(RealType alpha);
108 void setReactionFieldDielectric(RealType dielectric);
109 void calcSurfaceTerm(
bool slabGeometry,
int axis, RealType& pot);
110 void ReciprocalSpaceSum(RealType& pot);
113 RealType getFieldFunction(RealType r);
116 void getSitePotentials(
Atom* a1,
Atom* a2,
bool excluded, RealType& spot1,
123 bool haveCutoffRadius_;
124 bool haveDampingAlpha_;
125 bool haveDielectric_;
126 bool haveElectroSplines_;
139 vector<ElectrostaticAtomData>
141 vector<vector<CubicSplinePtr>>
147 AtomTypeSet simTypes_;
148 RealType cutoffRadius_;
155 RealType v01, v11, v21, v22, v31, v32, v41, v42, v43;
156 RealType dv01, dv11, dv21, dv22, dv31, dv32, dv41, dv42, dv43;
157 RealType v11or, v22or, v31or, v32or, v42or, v43or;
159 RealType angstromToM_;
163 ElectrostaticScreeningMethod screeningMethod_;
164 map<string, ElectrostaticSummationMethod> summationMap_;
165 map<string, ElectrostaticScreeningMethod> screeningMap_;
166 RealType dampingAlpha_;
167 RealType dielectric_;
192 RealType rdQar, rdQbr, trQa, trQb;
193 Vector3d Qar, Qbr, rQa, rQb, rxQar, rxQbr;
196 RealType DadDb, trQaQb, DadQbr, DbdQar;
198 Vector3d DaxDb, DadQb, DbdQa, DaxQbr, DbxQar;
199 Vector3d rQaQb, QaQbr, QaxQb, rQaxQbr;
214 RealType indirect_Pot;
216 Vector3d indirect_Ta;
217 Vector3d indirect_Tb;
220 RealType excluded_Pot;
222 RealType rfContrib, coulInt;
232 bool a_is_Quadrupole;
233 bool a_is_Fluctuating;
234 bool a_uses_SlaterIntra;
238 bool b_is_Quadrupole;
239 bool b_is_Fluctuating;
240 bool b_uses_SlaterIntra;