OpenMPCD
Instrumentation/GaussianRods.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_GAUSSIANRODS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_GAUSSIANRODS_HPP
8 
12 #include <OpenMPCD/Graph.hpp>
13 #include <OpenMPCD/Histogram.hpp>
14 
15 namespace OpenMPCD
16 {
17 namespace CUDA
18 {
19 namespace MPCFluid
20 {
21 namespace Instrumentation
22 {
23 /**
24  * Instrumentation for Gaussian Rod fluids.
25  */
26 class GaussianRods : public Base
27 {
28  public:
29  /**
30  * The constructor.
31  * @param[in] sim The simulation instance.
32  * @param[in] devMemMgr The Device memory manager.
33  * @param[in] mpcFluid_ The MPC fluid to measure.
34  */
36  const Simulation* const sim, DeviceMemoryManager* const devMemMgr,
37  const MPCFluid::GaussianRods* const mpcFluid_);
38 
39  /**
40  * The destructor.
41  */
42  virtual ~GaussianRods()
43  {
44  }
45 
46  protected:
47  /**
48  * Performs measurements.
49  */
50  virtual void measureSpecific();
51 
52  /**
53  * Saves the data to the given run directory.
54  * @param[in] rundir The path to the run directory.
55  */
56  virtual void saveSpecific(const std::string& rundir) const;
57 
58  private:
59  const Simulation* const simulation; ///< The simulation instance.
60  const MPCFluid::GaussianRods* const mpcFluid; ///< The fluid.
61 
62  Histogram bondLengthHistogram; ///< Histogram for the bond lengths.
63 }; //class GaussianRods
64 } //namespace Instrumentation
65 } //namespace MPCFluid
66 } //namespace CUDA
67 } //namespace OpenMPCD
68 
69 #endif
OpenMPCD::Histogram
Represents a histogram.
Definition: Histogram.hpp:20
GaussianRods.hpp
OpenMPCD::CUDA::MPCFluid::GaussianRods
Fluid consisting of Gaussian rods with a certain mean length.
Definition: GaussianRods.hpp:27
OpenMPCD::CUDA::DeviceMemoryManager
Class for managing memory on the CUDA Device.
Definition: DeviceMemoryManager.hpp:21
Histogram.hpp
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods
Instrumentation for Gaussian Rod fluids.
Definition: Instrumentation/GaussianRods.hpp:26
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods::saveSpecific
virtual void saveSpecific(const std::string &rundir) const
Saves the data to the given run directory.
Definition: GaussianRods.cpp:34
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods::~GaussianRods
virtual ~GaussianRods()
The destructor.
Definition: Instrumentation/GaussianRods.hpp:42
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods::measureSpecific
virtual void measureSpecific()
Performs measurements.
Definition: GaussianRods.cpp:19
Simulation.hpp
OpenMPCD::CUDA::MPCFluid::Instrumentation::Base
Base class for MPC fluids instrumentation.
Definition: CUDA/MPCFluid/Instrumentation/Base.hpp:34
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianRods::GaussianRods
GaussianRods(const Simulation *const sim, DeviceMemoryManager *const devMemMgr, const MPCFluid::GaussianRods *const mpcFluid_)
The constructor.
Definition: GaussianRods.cpp:8
Graph.hpp
Base.hpp