OpenMPCD
Instrumentation/VelocityAutocorrelation/Chains.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Chains class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_VELOCITYAUTOCORRELATION_CHAINS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_VELOCITYAUTOCORRELATION_CHAINS_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 chains of particles.
23  *
24  * All chains are assumed to be of the same length.
25  *
26  * The particles that belong to one chain are assumed to be adjacent to each other in memory.
27  * E.g. chain 0 consists of particles [0,n-1], chain 1 of particles [n,2n-1], etc.
28  */
29 class Chains : public Base
30 {
31  public:
32  /**
33  * The constructor.
34  * @param[in] chainLength_ The number of MPC fluid particles per chain.
35  * @param[in] sim The simulation instance.
36  * @param[in] devMemMgr The Device memory manager.
37  * @param[in] mpcFluid_ The MPC fluid to measure.
38  */
39  Chains(
40  const unsigned int chainLength_, const Simulation* const sim,
41  DeviceMemoryManager* devMemMgr, const MPCFluid::Base* const mpcFluid_);
42 
43  private:
44  Chains(const Chains&); ///< The copy constructor.
45 
46  public:
47  /**
48  * The destructor.
49  */
50  virtual ~Chains()
51  {
52  }
53 
54  protected:
55  /**
56  * Populates the currentVelocities buffer with the current velocities of the fluid constituents.
57  */
58  virtual void populateCurrentVelocities();
59 
60  private:
61  const unsigned int chainLength; ///< The number of MPC fluid particles per chain.
62 }; //class Chains
63 } //namespace VelocityAutocorrelation
64 } //namespace Instrumentation
65 } //namespace MPCFluid
66 } //namespace CUDA
67 } //namespace OpenMPCD
68 
69 #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::Chains::populateCurrentVelocities
virtual void populateCurrentVelocities()
Populates the currentVelocities buffer with the current velocities of the fluid constituents.
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Chains::~Chains
virtual ~Chains()
The destructor.
Definition: Instrumentation/VelocityAutocorrelation/Chains.hpp:50
OpenMPCD::CUDA::MPCFluid::Instrumentation::VelocityAutocorrelation::Chains
Class for measurements of velocity autocorrelation in MPC fluids that consist of chains of particles.
Definition: Instrumentation/VelocityAutocorrelation/Chains.hpp:29
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
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::Chains::Chains
Chains(const unsigned int chainLength_, const Simulation *const sim, DeviceMemoryManager *devMemMgr, const MPCFluid::Base *const mpcFluid_)
The constructor.