| 290 |
|
|
| 291 |
|
/* Compute variance for random forces */ |
| 292 |
|
|
| 293 |
< |
variance_ = sqrt(2.0*NumericConstant::PI)*((targetPressure_/OOPSEConstant::pressureConvert)*area/nSurfaceSDs); |
| 293 |
> |
variance_ = sqrt(2.0*NumericConstant::PI)*((targetPressure_/OOPSEConstant::pressureConvert)*area/nSurfaceSDs) |
| 294 |
> |
/OOPSEConstant::energyConvert; |
| 295 |
|
|
| 296 |
|
std::vector<Triangle*> sMesh = surfaceMesh_->getMesh(); |
| 297 |
|
std::vector<RealType> randNums = genTriangleForces(sMesh.size(),variance_); |
| 311 |
|
Vector3d unitNormal = thisTriangle->getNormal(); |
| 312 |
|
unitNormal.normalize(); |
| 313 |
|
Vector3d randomForce = -randNums[thisNumber] * unitNormal; |
| 314 |
< |
|
| 314 |
> |
Vector3d centroid = thisTriangle->getCentroid(); |
| 315 |
> |
|
| 316 |
|
for (vertex = vertexSDs.begin(); vertex != vertexSDs.end(); ++vertex){ |
| 317 |
|
|
| 318 |
|
// mass = integrableObject->getMass(); |
| 319 |
< |
|
| 320 |
< |
(*vertex)->addFrc(randomForce/3.0); |
| 319 |
> |
Vector3d vertexForce = randomForce/3.0; |
| 320 |
> |
(*vertex)->addFrc(vertexForce); |
| 321 |
> |
if (integrableObject->isDirectional()){ |
| 322 |
> |
Vector3d vertexPos = (*vertex)->getPos(); |
| 323 |
> |
Vector3d vertexCentroidVector = vertexPos - centroid; |
| 324 |
> |
(*vertex)->addTrq(cross(vertexCentroidVector,vertexForce)); |
| 325 |
> |
} |
| 326 |
> |
|
| 327 |
|
} |
| 328 |
|
} |
| 329 |
|
|