OpenMPCD
Instrumentation/VelocityAutocorrelation/Doublets.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Doublets class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_VELOCITYAUTOCORRELATION_DOUBLETS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_VELOCITYAUTOCORRELATION_DOUBLETS_HPP
8 
10 
11 namespace OpenMPCD
12 {
13 namespace CUDA
14 {
15 namespace MPCFluid
16 {
17 namespace Instrumentation
18 {
19 namespace VelocityAutocorrelation
20 {
21 /**
22  * Class for measurements of velocity autocorrelation in MPC fluids that consist of doublets of particles.
23  *
24  * The particles that belong to one doublet are assumed to be adjacent to each other in memory.
25  * E.g. doublet 0 consists of particles 0 and 1, doublet 1 of particles 2 and 3, etc.
26  */
27 class Doublets : public Base
28 {
29  public:
30  /**
31  * The constructor.
32  * @param[in] sim The simulation instance.
33  * @param[in] devMemMgr The Device memory manager.
34  * @param[in] mpcFluid_ The MPC fluid to measure.
35  */
36  Doublets(
37  const Simulation* const sim, DeviceMemoryManager* const devMemMgr,
38  const MPCFluid::Base* const mpcFluid_);
39 
40  private:
41  Doublets(const Doublets&); ///< The copy constructor.
42 
43  public:
44  /**
45  * The destructor.
46  */
47  virtual ~Doublets()
48  {
49  }
50 
51  protected:
52  /**
53  * Populates the currentVelocities buffer with the current velocities of the fluid constituents.
54  */
55  virtual void populateCurrentVelocities();
56 }; //class Doublets
57 } //namespace VelocityAutocorrelation
58 } //namespace Instrumentation
59 } //namespace MPCFluid
60 } //namespace CUDA
61 } //namespace OpenMPCD
62 
63 #endif
OpenMPCD::CUDA::MPCFluid::Base
Base class for MPC fluids.
Definition: CUDA/MPCFluid/Base.hpp:40
OpenMPCD::CUDA::DeviceMemoryManager
Class for managing memory on the CUDA Device.
Definition: DeviceMemoryManager.hpp:21
Base.hpp
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Doublets::Doublets
Doublets(const Simulation *const sim, DeviceMemoryManager *const devMemMgr, const MPCFluid::Base *const mpcFluid_)
The constructor.
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Doublets
Class for measurements of velocity autocorrelation in MPC fluids that consist of doublets of particle...
Definition: Instrumentation/VelocityAutocorrelation/Doublets.hpp:27
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Doublets::populateCurrentVelocities
virtual void populateCurrentVelocities()
Populates the currentVelocities buffer with the current velocities of the fluid constituents.
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Base
Base class for measurements of velocity autocorrelation in MPC fluids.
Definition: CUDA/MPCFluid/Instrumentation/VelocityAutocorrelation/Base.hpp:110
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Doublets::~Doublets
virtual ~Doublets()
The destructor.
Definition: Instrumentation/VelocityAutocorrelation/Doublets.hpp:47