|
OpenMD 3.2
Molecular Dynamics in the Open
|
Public Member Functions | |
| RPYMobility (const std::vector< RealType > &radii, RealType viscosity) | |
| bool | update (const std::vector< Vector3d > &positions) |
| (Re)build M, R = M^{-1}, and S = chol(R) from current bead positions. Positions must be the unwrapped intramolecular coordinates. Returns false if R is not positive definite (Cholesky hit a non-positive pivot). | |
| std::vector< Vector3d > | effectiveAmbient (const std::vector< Vector3d > &positions, const std::vector< Vector3d > &ambient, const Mat3x3d &E) const |
| vinf_eff_i = ambient_i + sum{j!=i} mu_td_ij : E (E symmetric traceless) | |
| std::vector< Vector3d > | dragForce (const std::vector< Vector3d > &vEff, const std::vector< Vector3d > &vel) const |
| Hydrodynamic drag: f_i = sum_j R_ij ( vEff_j - vel_j ). | |
| std::vector< Vector3d > | randomForce (const std::vector< RealType > &Z, RealType kT, RealType dt) const |
| FDT random force: sqrt(2 kT / dt) * S * Z, with Z a 3N vector of independent standard normal draws (row 3i+a is bead i, component a). | |
| std::size_t | size () const |
| bool | isPositiveDefinite () const |
| const DynamicRectMatrix< RealType > & | mobility () const |
| const DynamicRectMatrix< RealType > & | resistance () const |
| const DynamicRectMatrix< RealType > & | cholesky () const |
Definition at line 71 of file RPYMobility.hpp.
| OpenMD::RPYMobility::RPYMobility | ( | const std::vector< RealType > & | radii, |
| RealType | viscosity ) |
Definition at line 51 of file RPYMobility.cpp.
|
inline |
Definition at line 98 of file RPYMobility.hpp.
| std::vector< Vector3d > OpenMD::RPYMobility::dragForce | ( | const std::vector< Vector3d > & | vEff, |
| const std::vector< Vector3d > & | vel ) const |
Hydrodynamic drag: f_i = sum_j R_ij ( vEff_j - vel_j ).
Definition at line 115 of file RPYMobility.cpp.
References dragForce().
Referenced by dragForce().
| std::vector< Vector3d > OpenMD::RPYMobility::effectiveAmbient | ( | const std::vector< Vector3d > & | positions, |
| const std::vector< Vector3d > & | ambient, | ||
| const Mat3x3d & | E ) const |
vinf_eff_i = ambient_i + sum{j!=i} mu_td_ij : E (E symmetric traceless)
Definition at line 101 of file RPYMobility.cpp.
References effectiveAmbient().
Referenced by effectiveAmbient().
|
inline |
Definition at line 95 of file RPYMobility.hpp.
|
inline |
Definition at line 96 of file RPYMobility.hpp.
| std::vector< Vector3d > OpenMD::RPYMobility::randomForce | ( | const std::vector< RealType > & | Z, |
| RealType | kT, | ||
| RealType | dt ) const |
FDT random force: sqrt(2 kT / dt) * S * Z, with Z a 3N vector of independent standard normal draws (row 3i+a is bead i, component a).
Definition at line 136 of file RPYMobility.cpp.
References randomForce().
Referenced by randomForce().
|
inline |
Definition at line 97 of file RPYMobility.hpp.
|
inline |
Definition at line 94 of file RPYMobility.hpp.
| bool OpenMD::RPYMobility::update | ( | const std::vector< Vector3d > & | positions | ) |
(Re)build M, R = M^{-1}, and S = chol(R) from current bead positions. Positions must be the unwrapped intramolecular coordinates. Returns false if R is not positive definite (Cholesky hit a non-positive pivot).
Definition at line 60 of file RPYMobility.cpp.
References OpenMD::invertMatrix(), and update().
Referenced by update().