OpenMPCD
Instrumentation/GaussianDumbbells.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_GAUSSIANDUMBBELLS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_GAUSSIANDUMBBELLS_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 dumbbell fluids.
25  */
26 class GaussianDumbbells : 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::GaussianDumbbells* const mpcFluid_);
38 
39  /**
40  * The destructor.
41  */
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::GaussianDumbbells* const mpcFluid; ///< The fluid.
61 
62  Histogram dumbbellBondLengthHistogram; ///< Histogram for the dumbbell bond lengths.
63  Histogram dumbbellBondLengthSquaredHistogram; ///< Histogram for the squares of the dumbbell bond lengths.
64 
65  Histogram dumbbellBondXHistogram; ///< Histogram for the x components of the dumbbell bonds.
66  Histogram dumbbellBondYHistogram; ///< Histogram for the y components of the dumbbell bonds.
67  Histogram dumbbellBondZHistogram; ///< Histogram for the z components of the dumbbell bonds.
68 
69  Histogram dumbbellBondXXHistogram; ///< Histogram for the squares of the x components of the dumbbell bonds.
70  Histogram dumbbellBondYYHistogram; ///< Histogram for the squares of the y components of the dumbbell bonds.
71  Histogram dumbbellBondZZHistogram; ///< Histogram for the squares of the z components of the dumbbell bonds.
72 
73  Histogram dumbbellBondXYHistogram; ///< Histogram for the product of the x and y components of the dumbbell bonds.
74 
75  Graph dumbbellAverageBondXXVSTime; /**< Graph of the global average of the squares of the x components of the
76  dumbbell bonds vs. MPC simulation time.*/
77  Graph dumbbellAverageBondYYVSTime; /**< Graph of the global average of the squares of the y components of the
78  dumbbell bonds vs. MPC simulation time.*/
79  Graph dumbbellAverageBondZZVSTime; /**< Graph of the global average of the squares of the z components of the
80  dumbbell bonds vs. MPC simulation time.*/
81 
82  Histogram dumbbellBondAngleWithFlowDirectionHistogram; /**< Histogram for the angle between the dumbbell bond
83  and the flow direction.*/
84  Histogram dumbbellBondXYAngleWithFlowDirectionHistogram; /**< Histogram for the angle between the dumbbell bond
85  vector's projection to the xy plane and the flow
86  direction.*/
87 }; //class GaussianDumbbells
88 } //namespace Instrumentation
89 } //namespace MPCFluid
90 } //namespace CUDA
91 } //namespace OpenMPCD
92 
93 #endif
OpenMPCD::Histogram
Represents a histogram.
Definition: Histogram.hpp:20
OpenMPCD::CUDA::DeviceMemoryManager
Class for managing memory on the CUDA Device.
Definition: DeviceMemoryManager.hpp:21
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells::measureSpecific
virtual void measureSpecific()
Performs measurements.
Definition: GaussianDumbbells.cpp:33
Histogram.hpp
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells::saveSpecific
virtual void saveSpecific(const std::string &rundir) const
Saves the data to the given run directory.
Definition: GaussianDumbbells.cpp:83
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells::~GaussianDumbbells
virtual ~GaussianDumbbells()
The destructor.
Definition: Instrumentation/GaussianDumbbells.hpp:42
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells
Instrumentation for Gaussian dumbbell fluids.
Definition: Instrumentation/GaussianDumbbells.hpp:26
OpenMPCD::CUDA::MPCFluid::GaussianDumbbells
Fluid consisting of Gaussian dumbbells.
Definition: GaussianDumbbells.hpp:48
Simulation.hpp
OpenMPCD::CUDA::MPCFluid::Instrumentation::Base
Base class for MPC fluids instrumentation.
Definition: CUDA/MPCFluid/Instrumentation/Base.hpp:34
OpenMPCD::CUDA::MPCFluid::Instrumentation::GaussianDumbbells::GaussianDumbbells
GaussianDumbbells(const Simulation *const sim, DeviceMemoryManager *const devMemMgr, const MPCFluid::GaussianDumbbells *const mpcFluid_)
The constructor.
Definition: GaussianDumbbells.cpp:8
GaussianDumbbells.hpp
Graph.hpp
OpenMPCD::Graph
Represents a 2D graph.
Definition: Graph.hpp:19
Base.hpp