OpenMPCD
Instrumentation/FourierTransformedVelocity/Chains.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_FOURIERTRANSFORMEDVELOCITY_CHAINS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_FOURIERTRANSFORMEDVELOCITY_CHAINS_HPP
8 
10 
11 namespace OpenMPCD
12 {
13 namespace CUDA
14 {
15 namespace MPCFluid
16 {
17 namespace Instrumentation
18 {
19 namespace FourierTransformedVelocity
20 {
21 /**
22  * Class for measurements of Fourier-transformed velocities in MPC fluids that consist of chains of arbitrary size.
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(const unsigned int chainLength_, const Simulation* const sim, DeviceMemoryManager* devMemMgr,
40  const MPCFluid::Base* const mpcFluid_);
41 
42  private:
43  Chains(const Chains&); ///< The copy constructor.
44 
45  public:
46  /**
47  * The destructor.
48  */
49  virtual ~Chains()
50  {
51  }
52 
53  public:
54  /**
55  * Performs measurements.
56  */
57  virtual void measure();
58 
59  private:
60  const unsigned int chainLength; ///< The number of MPC fluid particles per chain.
61 }; //class Chains
62 } //namespace FourierTransformedVelocity
63 } //namespace Instrumentation
64 } //namespace MPCFluid
65 } //namespace CUDA
66 } //namespace OpenMPCD
67 
68 #endif
Base.hpp
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
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains
Class for measurements of Fourier-transformed velocities in MPC fluids that consist of chains of arbi...
Definition: Instrumentation/FourierTransformedVelocity/Chains.hpp:29
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains::Chains
Chains(const unsigned int chainLength_, const Simulation *const sim, DeviceMemoryManager *devMemMgr, const MPCFluid::Base *const mpcFluid_)
The constructor.
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains::~Chains
virtual ~Chains()
The destructor.
Definition: Instrumentation/FourierTransformedVelocity/Chains.hpp:49
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base
Base class for measurements of Fourier-transformed velocities in MPC fluids.
Definition: CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp:40
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains::measure
virtual void measure()
Performs measurements.