| 57 |
|
#include "primitives/Bend.hpp" |
| 58 |
|
#include "primitives/Torsion.hpp" |
| 59 |
|
#include "primitives/Inversion.hpp" |
| 60 |
– |
#include "nonbonded/LJ.hpp" |
| 60 |
|
|
| 61 |
|
namespace OpenMD { |
| 62 |
+ |
|
| 63 |
+ |
ForceManager::ForceManager(SimInfo * info) : info_(info), |
| 64 |
+ |
NBforcesInitialized_(false) { |
| 65 |
+ |
lj_ = LJ::Instance(); |
| 66 |
+ |
lj_->setForceField(info_->getForceField()); |
| 67 |
|
|
| 68 |
+ |
eam_ = EAM::Instance(); |
| 69 |
+ |
eam_->setForceField(info_->getForceField()); |
| 70 |
+ |
} |
| 71 |
+ |
|
| 72 |
|
void ForceManager::calcForces() { |
| 73 |
|
|
| 74 |
|
if (!info_->isFortranInitialized()) { |
| 75 |
|
info_->update(); |
| 76 |
|
} |
| 77 |
|
|
| 70 |
– |
if (!NBforcesInitialized_) { |
| 71 |
– |
LJ* lj = new LJ(info_->getForceField()); |
| 72 |
– |
lj->initialize(); |
| 73 |
– |
} |
| 74 |
– |
|
| 78 |
|
preCalculation(); |
| 79 |
|
|
| 80 |
|
calcShortRangeInteraction(); |