| 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 |
|
|
| 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(InteractionData &idat); |
| 90 |
|
virtual void calcSelfCorrection(SelfData &sdat); |
| 91 |
|
virtual string getName() {return name_;} |
| 92 |
|
virtual RealType getSuggestedCutoffRadius(pair<AtomType*, AtomType*> atypes); |
| 93 |
< |
|
| 94 |
< |
void setElectrostaticCutoffRadius( RealType theECR, RealType theRSW ); |
| 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 ); |
| 107 |
|
bool haveElectroSpline_; |
| 108 |
|
std::map<int, AtomType*> ElectrostaticList; |
| 109 |
|
std::map<AtomType*, ElectrostaticAtomData> ElectrostaticMap; |
| 110 |
+ |
SimInfo* info_; |
| 111 |
|
ForceField* forceField_; |
| 112 |
|
RealType cutoffRadius_; |
| 113 |
|
RealType cutoffRadius2_; |