84 virtual void calcForces();
86 void setDoElectricField(
bool def) { doElectricField_ = def; }
90 bool initialized_ {
false};
91 bool doParticlePot_ {
false};
92 bool doElectricField_ {
false};
93 bool doSitePotential_ {
false};
94 bool doHeatFlux_ {
false};
95 bool doLongRangeCorrections_ {
false};
96 bool usePeriodicBoundaryConditions_ {
false};
97 bool useSurfaceTerm_ {
false};
98 bool useSlabGeometry_ {
false};
102 virtual void preCalculation();
103 virtual void shortRangeInteractions();
104 virtual void longRangeInteractions();
105 virtual void postCalculation();
108 virtual void selectedShortRangeInteractions(
Molecule* mol1,
Molecule* mol2);
126 AtomTypeSet atomTypes_;
127 std::vector<pair<AtomType*, AtomType*>> interactions_;
128 std::map<Bend*, BendDataSet> bendDataSets;
129 std::map<Torsion*, TorsionDataSet> torsionDataSets;
130 std::map<Inversion*, InversionDataSet> inversionDataSets;
131 std::vector<int> neighborList_;
132 std::vector<int> point_;
133 std::vector<Vector3d> savedPositions_;
135 std::vector<RealType> vdwScale_;
136 std::vector<RealType> electrostaticScale_;
140 std::vector<ForceModifier*> forceModifiers_;
142 bool doPotentialSelection_ {
false};
143 std::string selectionScript_;