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); |
144 |
|
lrPot_ *= factor_; |
145 |
|
curSnapshot->statData[Stats::LONG_RANGE_POTENTIAL] = lrPot_; |
146 |
|
|
147 |
< |
|
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 |
|
|