| 283 |
|
simError(); |
| 284 |
|
} |
| 285 |
|
|
| 286 |
+ |
// Quadrupoles in OpenMD are set as the diagonal elements |
| 287 |
+ |
// of the diagonalized traceless quadrupole moment tensor. |
| 288 |
+ |
// The column vectors of the unitary matrix that diagonalizes |
| 289 |
+ |
// the quadrupole moment tensor become the eFrame (or the |
| 290 |
+ |
// electrostatic version of the body-fixed frame. |
| 291 |
+ |
|
| 292 |
|
Vector3dGenericData* v3dData = dynamic_cast<Vector3dGenericData*>(data); |
| 293 |
|
if (v3dData == NULL) { |
| 294 |
|
sprintf( painCave.errMsg, |
| 980 |
|
scdat.pot += self; |
| 981 |
|
} |
| 982 |
|
} |
| 983 |
+ |
} |
| 984 |
+ |
|
| 985 |
+ |
RealType Electrostatic::getSuggestedCutoffRadius(AtomType* at1, AtomType* at2) { |
| 986 |
+ |
// This seems to work moderately well as a default. There's no |
| 987 |
+ |
// inherent scale for 1/r interactions that we can standardize. |
| 988 |
+ |
// 12 angstroms seems to be a reasonably good guess for most |
| 989 |
+ |
// cases. |
| 990 |
+ |
return 12.0; |
| 991 |
|
} |
| 992 |
|
} |