| 35 |
|
* |
| 36 |
|
* [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). |
| 37 |
|
* [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). |
| 38 |
< |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
| 39 |
< |
* [4] Vardeman & Gezelter, in progress (2009). |
| 38 |
> |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
| 39 |
> |
* [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
| 40 |
> |
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
| 41 |
|
*/ |
| 42 |
|
#include <fstream> |
| 43 |
|
#include <iostream> |
| 138 |
|
// Build a vector of integrable objects to determine if the are |
| 139 |
|
// surface atoms |
| 140 |
|
Molecule* mol; |
| 141 |
< |
StuntDouble* integrableObject; |
| 141 |
> |
StuntDouble* sd; |
| 142 |
|
SimInfo::MoleculeIterator i; |
| 143 |
|
Molecule::IntegrableObjectIterator j; |
| 144 |
|
|
| 145 |
|
for (mol = info_->beginMolecule(i); mol != NULL; |
| 146 |
|
mol = info_->nextMolecule(i)) { |
| 147 |
< |
for (integrableObject = mol->beginIntegrableObject(j); |
| 148 |
< |
integrableObject != NULL; |
| 149 |
< |
integrableObject = mol->nextIntegrableObject(j)) { |
| 150 |
< |
localSites_.push_back(integrableObject); |
| 147 |
> |
for (sd = mol->beginIntegrableObject(j); |
| 148 |
> |
sd != NULL; |
| 149 |
> |
sd = mol->nextIntegrableObject(j)) { |
| 150 |
> |
localSites_.push_back(sd); |
| 151 |
|
} |
| 152 |
|
} |
| 153 |
|
} |
| 154 |
|
|
| 155 |
|
void LangevinHullForceManager::postCalculation(){ |
| 155 |
– |
SimInfo::MoleculeIterator i; |
| 156 |
– |
Molecule::IntegrableObjectIterator j; |
| 157 |
– |
Molecule* mol; |
| 158 |
– |
StuntDouble* integrableObject; |
| 156 |
|
|
| 157 |
|
// Compute surface Mesh |
| 158 |
|
surfaceMesh_->computeHull(localSites_); |
| 184 |
|
hydroTensor *= PhysicalConstants::viscoConvert; |
| 185 |
|
Mat3x3d S; |
| 186 |
|
CholeskyDecomposition(hydroTensor, S); |
| 187 |
< |
|
| 187 |
> |
|
| 188 |
|
Vector3d extPressure = -unitNormal * (targetPressure_ * thisArea) / |
| 189 |
|
PhysicalConstants::energyConvert; |
| 190 |
|
|
| 196 |
|
// Apply triangle force to stuntdouble vertices |
| 197 |
|
for (vertex = vertexSDs.begin(); vertex != vertexSDs.end(); ++vertex){ |
| 198 |
|
if ((*vertex) != NULL){ |
| 199 |
< |
Vector3d vertexForce = langevinForce / 3.0; |
| 199 |
> |
Vector3d vertexForce = langevinForce / RealType(3.0); |
| 200 |
|
(*vertex)->addFrc(vertexForce); |
| 201 |
|
} |
| 202 |
|
} |