OpenMPCD
|
Represents a potential that consists of the sum of two other potentials. More...
#include <AdditivePair.hpp>
Public Member Functions | |
OPENMPCD_CUDA_HOST_AND_DEVICE | AdditivePair (const Base< T > *const potential1, const Base< T > *const potential2) |
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... | |
Represents a potential that consists of the sum of two other potentials.
Definition at line 18 of file AdditivePair.hpp.
|
inline |
The constructor.
OpenMPCD::NULLPointerException | If OPENMPCD_DEBUG is defined, throws if potential1 == nullptr or potential2 == nullptr . |
[in] | potential1 | A pointer to the first potential. This pointer must remain valid as long as this instance exists. |
[in] | potential2 | A pointer to the second potential. This pointer must remain valid as long as this instance exists. |
Definition at line 36 of file AdditivePair.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.
[in] | R | The relative position vector. |
Definition at line 55 of file AdditivePair.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 66 of file AdditivePair.hpp.