# | Line 160 | Line 160 | namespace oopse { | |
---|---|---|
160 | ||
161 | currentSnapshot_->wrapVector(pab); | |
162 | ||
163 | < | double pabsq = pab.lengthSquare(); |
163 | > | RealType pabsq = pab.lengthSquare(); |
164 | ||
165 | < | double rabsq = consPair->getConsDistSquare(); |
166 | < | double diffsq = rabsq - pabsq; |
165 | > | RealType rabsq = consPair->getConsDistSquare(); |
166 | > | RealType diffsq = rabsq - pabsq; |
167 | ||
168 | // the original rattle code from alan tidesley | |
169 | if (fabs(diffsq) > (consTolerance_ * rabsq * 2)){ | |
# | Line 175 | Line 175 | namespace oopse { | |
175 | ||
176 | currentSnapshot_->wrapVector(rab); | |
177 | ||
178 | < | double rpab = dot(rab, pab); |
179 | < | double rpabsq = rpab * rpab; |
178 | > | RealType rpab = dot(rab, pab); |
179 | > | RealType rpabsq = rpab * rpab; |
180 | ||
181 | if (rpabsq < (rabsq * -diffsq)){ | |
182 | return consFail; | |
183 | } | |
184 | ||
185 | < | double rma = 1.0 / consElem1->getMass(); |
186 | < | double rmb = 1.0 / consElem2->getMass(); |
185 | > | RealType rma = 1.0 / consElem1->getMass(); |
186 | > | RealType rmb = 1.0 / consElem2->getMass(); |
187 | ||
188 | < | double gab = diffsq / (2.0 * (rma + rmb) * rpab); |
188 | > | RealType gab = diffsq / (2.0 * (rma + rmb) * rpab); |
189 | ||
190 | Vector3d delta = rab * gab; | |
191 | ||
# | Line 234 | Line 234 | namespace oopse { | |
234 | ||
235 | currentSnapshot_->wrapVector(rab); | |
236 | ||
237 | < | double rma = 1.0 / consElem1->getMass(); |
238 | < | double rmb = 1.0 / consElem2->getMass(); |
237 | > | RealType rma = 1.0 / consElem1->getMass(); |
238 | > | RealType rmb = 1.0 / consElem2->getMass(); |
239 | ||
240 | < | double rvab = dot(rab, dv); |
240 | > | RealType rvab = dot(rab, dv); |
241 | ||
242 | < | double gab = -rvab / ((rma + rmb) * consPair->getConsDistSquare()); |
242 | > | RealType gab = -rvab / ((rma + rmb) * consPair->getConsDistSquare()); |
243 | ||
244 | if (fabs(gab) > consTolerance_){ | |
245 | Vector3d delta = rab * gab; |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |