| 53 |
|
|
| 54 |
|
namespace oopse { |
| 55 |
|
|
| 56 |
< |
Restraints::Restraints(SimInfo* info, double lambdaVal, double lambdaExp){ |
| 56 |
> |
Restraints::Restraints(SimInfo* info, RealType lambdaVal, RealType lambdaExp){ |
| 57 |
|
info_ = info; |
| 58 |
|
Globals* simParam = info_->getSimParams(); |
| 59 |
|
|
| 65 |
|
kDist = simParam->getThermIntDistSpringConst(); |
| 66 |
|
} |
| 67 |
|
else{ |
| 68 |
< |
kDist = 6.0; |
| 68 |
> |
kDist = simParam->getThermIntDistSpringConst(); |
| 69 |
|
sprintf(painCave.errMsg, |
| 70 |
|
"ThermoIntegration Warning: the spring constant for the\n" |
| 71 |
|
"\ttranslational restraint was not specified. OOPSE will use\n" |
| 79 |
|
kTheta = simParam->getThermIntThetaSpringConst(); |
| 80 |
|
} |
| 81 |
|
else{ |
| 82 |
< |
kTheta = 7.5; |
| 82 |
> |
kTheta = simParam->getThermIntThetaSpringConst(); |
| 83 |
|
sprintf(painCave.errMsg, |
| 84 |
|
"ThermoIntegration Warning: the spring constant for the\n" |
| 85 |
|
"\tdeflection orientational restraint was not specified.\n" |
| 93 |
|
kOmega = simParam->getThermIntOmegaSpringConst(); |
| 94 |
|
} |
| 95 |
|
else{ |
| 96 |
< |
kOmega = 13.5; |
| 96 |
> |
kOmega = simParam->getThermIntOmegaSpringConst(); |
| 97 |
|
sprintf(painCave.errMsg, |
| 98 |
|
"ThermoIntegration Warning: the spring constant for the\n" |
| 99 |
|
"\tspin orientational restraint was not specified. OOPSE\n" |
| 119 |
|
Restraints::~Restraints(){ |
| 120 |
|
} |
| 121 |
|
|
| 122 |
< |
void Restraints::Calc_rVal(Vector3d &position, double refPosition[3]){ |
| 122 |
> |
void Restraints::Calc_rVal(Vector3d &position, RealType refPosition[3]){ |
| 123 |
|
delRx = position.x() - refPosition[0]; |
| 124 |
|
delRy = position.y() - refPosition[1]; |
| 125 |
|
delRz = position.z() - refPosition[2]; |
| 127 |
|
return; |
| 128 |
|
} |
| 129 |
|
|
| 130 |
< |
void Restraints::Calc_body_thetaVal(RotMat3x3d &matrix, double refUnit[3]){ |
| 130 |
> |
void Restraints::Calc_body_thetaVal(RotMat3x3d &matrix, RealType refUnit[3]){ |
| 131 |
|
ub0x = matrix(0,0)*refUnit[0] + matrix(0,1)*refUnit[1] |
| 132 |
|
+ matrix(0,2)*refUnit[2]; |
| 133 |
|
ub0y = matrix(1,0)*refUnit[0] + matrix(1,1)*refUnit[1] |
| 146 |
|
return; |
| 147 |
|
} |
| 148 |
|
|
| 149 |
< |
void Restraints::Calc_body_omegaVal(double zAngle){ |
| 150 |
< |
double zRotator[3][3]; |
| 151 |
< |
double tempOmega; |
| 152 |
< |
double wholeTwoPis; |
| 149 |
> |
void Restraints::Calc_body_omegaVal(RealType zAngle){ |
| 150 |
> |
RealType tempOmega; |
| 151 |
> |
RealType wholeTwoPis; |
| 152 |
|
// Use the omega accumulated from the rotation propagation |
| 153 |
|
omega = zAngle; |
| 154 |
|
|
| 184 |
|
return; |
| 185 |
|
} |
| 186 |
|
|
| 187 |
< |
double Restraints::Calc_Restraint_Forces(){ |
| 187 |
> |
RealType Restraints::Calc_Restraint_Forces(){ |
| 188 |
|
SimInfo::MoleculeIterator mi; |
| 189 |
|
Molecule* mol; |
| 190 |
|
Molecule::IntegrableObjectIterator ii; |
| 191 |
|
StuntDouble* integrableObject; |
| 192 |
|
Vector3d pos; |
| 193 |
|
RotMat3x3d A; |
| 194 |
< |
double refPos[3]; |
| 195 |
< |
double refVec[3]; |
| 196 |
< |
double tolerance; |
| 197 |
< |
double tempPotent; |
| 198 |
< |
double factor; |
| 199 |
< |
double spaceTrq[3]; |
| 200 |
< |
double omegaPass; |
| 194 |
> |
RealType refPos[3]; |
| 195 |
> |
RealType refVec[3]; |
| 196 |
> |
RealType tolerance; |
| 197 |
> |
RealType tempPotent; |
| 198 |
> |
RealType factor; |
| 199 |
> |
RealType spaceTrq[3]; |
| 200 |
> |
RealType omegaPass; |
| 201 |
|
GenericData* data; |
| 202 |
|
DoubleGenericData* doubleData; |
| 203 |
|
|