| 42 |
|
#include <cmath> |
| 43 |
|
#include "restraints/ThermoIntegrationForceManager.hpp" |
| 44 |
|
#include "integrators/Integrator.hpp" |
| 45 |
+ |
#include "math/SquareMatrix3.hpp" |
| 46 |
|
#include "primitives/Molecule.hpp" |
| 47 |
|
#include "utils/simError.h" |
| 48 |
|
#include "utils/OOPSEConstant.hpp" |
| 92 |
|
// build the scaling factor used to modulate the forces and torques |
| 93 |
|
factor_ = pow(tIntLambda_, tIntK_); |
| 94 |
|
|
| 95 |
< |
printf("%f is the factor\n",factor_); |
| 96 |
< |
|
| 95 |
> |
sprintf(painCave.errMsg,"%f is the factor\n",factor_); |
| 96 |
> |
painCave.isFatal = 0; |
| 97 |
> |
simError(); |
| 98 |
> |
|
| 99 |
|
} |
| 100 |
|
|
| 101 |
|
ThermoIntegrationForceManager::~ThermoIntegrationForceManager(){ |
| 110 |
|
StuntDouble* integrableObject; |
| 111 |
|
Vector3d frc; |
| 112 |
|
Vector3d trq; |
| 113 |
+ |
Mat3x3d tempTau; |
| 114 |
|
|
| 115 |
|
// perform the standard calcForces first |
| 116 |
|
ForceManager::calcForces(needPotential, needStress); |
| 134 |
|
integrableObject->setTrq(trq); |
| 135 |
|
} |
| 136 |
|
} |
| 133 |
– |
|
| 134 |
– |
// set vraw to be the unmodulated potential |
| 135 |
– |
lrPot_ = curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL]; |
| 136 |
– |
curSnapshot->statData[Stats::VRAW] = lrPot_; |
| 137 |
– |
|
| 138 |
– |
// modulate the potential and update the snapshot |
| 139 |
– |
lrPot_ *= factor_; |
| 140 |
– |
curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL] = lrPot_; |
| 137 |
|
} |
| 138 |
+ |
|
| 139 |
+ |
// set vraw to be the unmodulated potential |
| 140 |
+ |
lrPot_ = curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL]; |
| 141 |
+ |
curSnapshot->statData[Stats::VRAW] = lrPot_; |
| 142 |
|
|
| 143 |
+ |
// modulate the potential and update the snapshot |
| 144 |
+ |
lrPot_ *= factor_; |
| 145 |
+ |
curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL] = lrPot_; |
| 146 |
+ |
|
| 147 |
+ |
// scale the pressure tensor |
| 148 |
+ |
tempTau = curSnapshot->statData.getTau(); |
| 149 |
+ |
tempTau *= factor_; |
| 150 |
+ |
curSnapshot->statData.setTau(tempTau); |
| 151 |
+ |
|
| 152 |
|
// do crystal restraint forces for thermodynamic integration |
| 153 |
|
if (simParam->getUseSolidThermInt()) { |
| 154 |
|
|