OpenMPCD
|
Lennard-Jones Interaction. More...
#include <LennardJones.hpp>
Public Member Functions | |
OPENMPCD_CUDA_HOST_AND_DEVICE | LennardJones (const T r_offset, const T r_cut, const T sigma, const T epsilon) |
The constructor. More... | |
OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D< T > | force (const Vector3D< T > &R) const |
Returns the force vector of the interaction for a given position vector. More... | |
OPENMPCD_CUDA_HOST_AND_DEVICE T | potential (const Vector3D< T > &R) const |
Returns the potential of the interaction for a given position vector. More... | |
virtual OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D< FP > | force (const Vector3D< FP > &Rvec) const=0 |
Returns the force vector of the interaction for a given position vector. More... | |
virtual OPENMPCD_CUDA_HOST_AND_DEVICE FP | potential (const Vector3D< FP > &Rvec) const=0 |
Returns the potential of the interaction for a given position vector. More... | |
const OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D< FP > | forceOnR1DueToR2 (const Vector3D< FP > &r1, const Vector3D< FP > &r2) const |
Returns the force exerted on the particle at r1 due to the particle at r2 . More... | |
Lennard-Jones Interaction.
\[ 4 \varepsilon \cdot \left( \left( \frac{\sigma}{r - r_{\textrm{offset}}} \right)^{12} - \left( \frac{\sigma}{r - r_{\textrm{offset}}} \right)^6 \right) \]
If \( r \) exceeds a parameter \( r_{\textrm{cut}} \) (given to the constructor of the class), the resulting potential and force will be zero.
T | The numeric base type. |
Definition at line 26 of file LennardJones.hpp.
|
inline |
The constructor.
[in] | r_offset | Offset for distance |
[in] | r_cut | Cutoff param; If distance > r_cut, potential is zero |
[in] | sigma | At distance sigma, inter-particle potential is zero |
[in] | epsilon | Depth of the potential well |
Definition at line 38 of file LennardJones.hpp.
|
pure virtualinherited |
Returns the force vector of the interaction for a given position vector.
This function returns the directional derivative
\[ - \nabla_R V \left( \vec{R} \right) \]
where \( \vec{R} \) is the Rvec
parameter, \( V \) is the potential as given by the potential
function, and \( \nabla_R V \) is the gradient of \( V \) with respect to \( \vec{R} \).
[in] | Rvec | The relative position vector. |
|
inline |
Returns the force vector of the interaction for a given position vector.
This function returns the directional derivative
\[ - \nabla_R V \left( \vec{R} \right) \]
where \( \vec{R} \) is the R
parameter, \( V \) is the potential as given by the potential
function, and \( \nabla_R V \) is the gradient of \( V \) with respect to \( \vec{R} \).
[in] | R | The relative position vector. |
Definition at line 55 of file LennardJones.hpp.
|
inlineinherited |
Returns the force exerted on the particle at r1
due to the particle at r2
.
[in] | r1 | The position of the first particle. |
[in] | r2 | The position of the second particle. |
Definition at line 65 of file PairPotentials/Base.hpp.
|
pure virtualinherited |
Returns the potential of the interaction for a given position vector.
[in] | Rvec | The relative position vector. |
|
inline |
Returns the potential of the interaction for a given position vector.
[in] | R | The relative position vector. |
Definition at line 75 of file LennardJones.hpp.