|
OpenMPCD
|
Base class for MPC solutes. More...
#include <Base.hpp>

Public Member Functions | |
| virtual | ~Base () |
| The destructor. More... | |
| virtual void | performMDTimestep ()=0 |
Performs, on the Device, an MD timestep of size getMDTimeStepSize(). More... | |
| virtual std::size_t | getParticleCount () const =0 |
| Returns the number of MPC solute particles. More... | |
| virtual std::size_t | getNumberOfLogicalEntities () const =0 |
| Returns the number of logical entities in the solute. More... | |
| void | fetchFromDevice () const |
| Copies the MPC solute particles from the CUDA Device to the Host. More... | |
| const RemotelyStoredVector< const PositionCoordinate > | getPosition (const std::size_t particleID) const |
| Returns a MPC solute particle's position vector. More... | |
| const RemotelyStoredVector< const VelocityCoordinate > | getVelocity (const std::size_t particleID) const |
| Returns a MPC solute particle's velocity vector. More... | |
| const PositionCoordinate * | getDevicePositions () const |
| Returns a const pointer to the MPC solute positions on the Device. More... | |
| PositionCoordinate * | getDevicePositions () |
| Returns a pointer to the MPC solute positions on the Device. More... | |
| PositionCoordinate * | getHostPositions () |
| Returns a pointer to the MPC solute positions on the Host. More... | |
| const VelocityCoordinate * | getDeviceVelocities () const |
| Returns a const pointer to the MPC solute velocities on the Device. More... | |
| VelocityCoordinate * | getDeviceVelocities () |
| Returns a pointer to the MPC solute velocities on the Device. More... | |
| VelocityCoordinate * | getHostVelocities () |
| Returns a pointer to the MPC solute velocities on the Host. More... | |
| FP | getMDTimeStepSize () const |
| Returns the number of time units advanced per MD step. More... | |
| bool | hasInstrumentation () const |
| Returns whether the solute has instrumentation configured. More... | |
| Instrumentation::Base & | getInstrumentation () const |
| Returns the solute instrumentation. More... | |
| virtual FP | getParticleMass () const =0 |
| Returns the mass of a particle, which is assumed to be equal for all particles in this instance. More... | |
Protected Member Functions | |
| Base () | |
| The constructor. More... | |
| void | pushToDevice () |
| Copies the MPC solute particles from the Host to the CUDA Device. More... | |
Protected Attributes | |
| DeviceMemoryManager | deviceMemoryManager |
| The Device memory manager. More... | |
| FP | mdTimeStepSize |
| The number of time units to advance per MD step. More... | |
| Instrumentation::Base * | instrumentation |
| The solute instrumentation. More... | |
| boost::scoped_array< PositionCoordinate > | h_positions |
| Host buffer for particle positions. More... | |
| boost::scoped_array< VelocityCoordinate > | h_velocities |
| Host buffer for particle velocities. More... | |
| PositionCoordinate * | d_positions |
| Particle positions on the Device. More... | |
| VelocityCoordinate * | d_velocities |
| Particle velocities on the Device. More... | |
Base class for MPC solutes.
| PositionCoordinate | The type to store position coordinates. |
| VelocityCoordinate | The type to store velocity coordinates. |
Definition at line 35 of file CUDA/MPCSolute/Base.hpp.
|
protected |
The constructor.
|
virtual |
The destructor.
| void OpenMPCD::CUDA::MPCSolute::Base< PositionCoordinate, VelocityCoordinate >::fetchFromDevice | ( | ) | const |
|
inline |
Returns a pointer to the MPC solute positions on the Device.
Definition at line 116 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns a const pointer to the MPC solute positions on the Device.
Definition at line 108 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns a pointer to the MPC solute velocities on the Device.
Definition at line 140 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns a const pointer to the MPC solute velocities on the Device.
Definition at line 132 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns a pointer to the MPC solute positions on the Host.
Definition at line 124 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns a pointer to the MPC solute velocities on the Host.
Definition at line 148 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns the solute instrumentation.
| OpenMPCD::NULLPointerException | If OPENMPCD_DEBUG is defined, throws if !hasInstrumentation(). |
Definition at line 175 of file CUDA/MPCSolute/Base.hpp.
|
inline |
Returns the number of time units advanced per MD step.
Definition at line 156 of file CUDA/MPCSolute/Base.hpp.
|
pure virtual |
Returns the number of logical entities in the solute.
|
pure virtual |
Returns the number of MPC solute particles.
|
pure virtual |
Returns the mass of a particle, which is assumed to be equal for all particles in this instance.
| const RemotelyStoredVector<const PositionCoordinate> OpenMPCD::CUDA::MPCSolute::Base< PositionCoordinate, VelocityCoordinate >::getPosition | ( | const std::size_t | particleID | ) | const |
Returns a MPC solute particle's position vector.
fetchFromDevice was called.| OpenMPCD::OutOfBoundsException | If OPENMPCD_DEBUG is defined, throws if particleID >= getParticleCount(). |
| [in] | particleID | The particle ID. |
| const RemotelyStoredVector<const VelocityCoordinate> OpenMPCD::CUDA::MPCSolute::Base< PositionCoordinate, VelocityCoordinate >::getVelocity | ( | const std::size_t | particleID | ) | const |
Returns a MPC solute particle's velocity vector.
fetchFromDevice was called.| OpenMPCD::OutOfBoundsException | If OPENMPCD_DEBUG is defined, throws if particleID >= getParticleCount(). |
| [in] | particleID | The particle ID. |
|
inline |
Returns whether the solute has instrumentation configured.
Definition at line 164 of file CUDA/MPCSolute/Base.hpp.
|
pure virtual |
Performs, on the Device, an MD timestep of size getMDTimeStepSize().
Implemented in OpenMPCD::CUDA::MPCSolute::StarPolymers< PositionCoordinate, VelocityCoordinate >.
|
protected |
|
protected |
Particle positions on the Device.
Definition at line 210 of file CUDA/MPCSolute/Base.hpp.
|
protected |
Particle velocities on the Device.
Definition at line 211 of file CUDA/MPCSolute/Base.hpp.
|
protected |
The Device memory manager.
Definition at line 199 of file CUDA/MPCSolute/Base.hpp.
|
mutableprotected |
Host buffer for particle positions.
Definition at line 205 of file CUDA/MPCSolute/Base.hpp.
|
mutableprotected |
Host buffer for particle velocities.
Definition at line 207 of file CUDA/MPCSolute/Base.hpp.
|
protected |
The solute instrumentation.
Definition at line 203 of file CUDA/MPCSolute/Base.hpp.
|
protected |
The number of time units to advance per MD step.
Definition at line 201 of file CUDA/MPCSolute/Base.hpp.
1.8.17