OpenMPCD
Public Member Functions | List of all members
OpenMPCD::PairPotentials::FENE< T > Class Template Referenceabstract

FENE Interaction \( -0.5 K R^2 \log (1 - (\frac{r - l_0}{R})^2)\). More...

#include <FENE.hpp>

Inheritance diagram for OpenMPCD::PairPotentials::FENE< T >:
Inheritance graph
[legend]
Collaboration diagram for OpenMPCD::PairPotentials::FENE< T >:
Collaboration graph
[legend]

Public Member Functions

OPENMPCD_CUDA_HOST_AND_DEVICE FENE (const T K, const T l_0, const T R)
 The constructor. More...
 
OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D< T > force (const Vector3D< T > &Rvec) const
 Returns the force vector of the interaction for a given position vector. More...
 
OPENMPCD_CUDA_HOST_AND_DEVICEpotential (const Vector3D< T > &Rvec) const
 Returns the potential of the interaction for a given position vector. More...
 
OPENMPCD_CUDA_HOST_AND_DEVICEgetK () const
 Returns the \( K \) parameter. More...
 
OPENMPCD_CUDA_HOST_AND_DEVICEgetR () const
 Returns the \( R \) parameter. More...
 
OPENMPCD_CUDA_HOST_AND_DEVICEget_l_0 () const
 Returns the \( l_0 \) parameter. More...
 
virtual OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D< FPforce (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< FPforceOnR1DueToR2 (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...
 

Detailed Description

template<typename T = FP>
class OpenMPCD::PairPotentials::FENE< T >

FENE Interaction \( -0.5 K R^2 \log (1 - (\frac{r - l_0}{R})^2)\).

Template Parameters
TThe numeric base type.

Definition at line 18 of file FENE.hpp.

Constructor & Destructor Documentation

◆ FENE()

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE OpenMPCD::PairPotentials::FENE< T >::FENE ( const T  K,
const T  l_0,
const T  R 
)
inline

The constructor.

Parameters
[in]KStrength of FENE Interaction
[in]l_0Mean Bond length
[in]RMaximum FENE elongation

Definition at line 28 of file FENE.hpp.

Member Function Documentation

◆ force() [1/2]

virtual OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D<FP > OpenMPCD::PairPotentials::Base< FP >::force ( const Vector3D< T > &  Rvec) const
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} \).

Parameters
[in]RvecThe relative position vector.

◆ force() [2/2]

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D<T> OpenMPCD::PairPotentials::FENE< T >::force ( const Vector3D< T > &  Rvec) const
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 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} \).

Parameters
[in]RvecThe relative position vector.

Definition at line 45 of file FENE.hpp.

◆ forceOnR1DueToR2()

const OPENMPCD_CUDA_HOST_AND_DEVICE Vector3D<FP > OpenMPCD::PairPotentials::Base< FP >::forceOnR1DueToR2 ( const Vector3D< T > &  r1,
const Vector3D< T > &  r2 
) const
inlineinherited

Returns the force exerted on the particle at r1 due to the particle at r2.

Parameters
[in]r1The position of the first particle.
[in]r2The position of the second particle.

Definition at line 65 of file PairPotentials/Base.hpp.

◆ get_l_0()

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE T OpenMPCD::PairPotentials::FENE< T >::get_l_0 ( ) const
inline

Returns the \( l_0 \) parameter.

Definition at line 91 of file FENE.hpp.

◆ getK()

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE T OpenMPCD::PairPotentials::FENE< T >::getK ( ) const
inline

Returns the \( K \) parameter.

Definition at line 73 of file FENE.hpp.

◆ getR()

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE T OpenMPCD::PairPotentials::FENE< T >::getR ( ) const
inline

Returns the \( R \) parameter.

Definition at line 82 of file FENE.hpp.

◆ potential() [1/2]

virtual OPENMPCD_CUDA_HOST_AND_DEVICE FP OpenMPCD::PairPotentials::Base< FP >::potential ( const Vector3D< T > &  Rvec) const
pure virtualinherited

Returns the potential of the interaction for a given position vector.

Parameters
[in]RvecThe relative position vector.

◆ potential() [2/2]

template<typename T = FP>
OPENMPCD_CUDA_HOST_AND_DEVICE T OpenMPCD::PairPotentials::FENE< T >::potential ( const Vector3D< T > &  Rvec) const
inline

Returns the potential of the interaction for a given position vector.

Parameters
[in]RvecThe relative position vector.

Definition at line 62 of file FENE.hpp.


The documentation for this class was generated from the following file: