OpenMPCD
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base Class Referenceabstract

Base class for measurements of Fourier-transformed velocities in MPC fluids. More...

#include <Base.hpp>

Inheritance diagram for OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base:
Inheritance graph
[legend]
Collaboration diagram for OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base:
Collaboration graph
[legend]

Public Member Functions

virtual ~Base ()
 The destructor. More...
 
virtual void measure ()=0
 Performs measurements. More...
 
virtual void save (const std::string &rundir) const
 Saves the data to the given run directory. More...
 

Static Public Member Functions

static bool isConfigured (const Simulation *const sim)
 Returns whether the given simulation configured this instrumentation. More...
 

Protected Member Functions

 Base (const Simulation *const sim, DeviceMemoryManager *devMemMgr, const MPCFluid::Base *const mpcFluid_, const unsigned int numberOfConstituents)
 The constructor. More...
 

Protected Attributes

const Simulation *const simulation
 The simulation instance. More...
 
DeviceMemoryManager *const deviceMemoryManager
 The Device memory manager. More...
 
const MPCFluid::Base *const mpcFluid
 The fluid to measure. More...
 
MPCParticleVelocityTyperealBuffer
 Device buffer for temporary results. More...
 
MPCParticleVelocityTypeimagBuffer
 Device buffer for temporary results. More...
 
std::vector< std::vector< MPCParticlePositionType > > k_n
 The multiples of \( 2*\pi/L_i \) for each component \( i \) of each \(\vec{k}\) vector. More...
 
std::vector< std::deque< std::pair< FP, Vector3D< std::complex< MPCParticleVelocityType > > > > > fourierTransformedVelocities
 The Fourier-transformed velocities measured, along with the corresponding simulation timestamps. More...
 

Detailed Description

Base class for measurements of Fourier-transformed velocities in MPC fluids.

Definition at line 40 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

Constructor & Destructor Documentation

◆ Base()

Base::Base ( const Simulation *const  sim,
DeviceMemoryManager devMemMgr,
const MPCFluid::Base *const  mpcFluid_,
const unsigned int  numberOfConstituents 
)
protected

The constructor.

Parameters
[in]simThe simulation instance.
[in]devMemMgrThe Device memory manager.
[in]mpcFluid_The MPC fluid to measure.
[in]numberOfConstituentsThe number of logical constituents (e.g. pairs, triplets, ...) in the fluid.

Definition at line 14 of file Base.cpp.

◆ ~Base()

Base::~Base ( )
virtual

The destructor.

Definition at line 25 of file Base.cpp.

Member Function Documentation

◆ isConfigured()

bool Base::isConfigured ( const Simulation *const  sim)
static

Returns whether the given simulation configured this instrumentation.

Parameters
[in]simThe simulation instance.
Exceptions
NULLPointerExceptionThrows if sim is nullptr.

Definition at line 36 of file Base.cpp.

◆ measure()

virtual void OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::measure ( )
pure virtual

◆ save()

void Base::save ( const std::string &  rundir) const
virtual

Saves the data to the given run directory.

Parameters
[in]rundirThe path to the run directory.

Definition at line 31 of file Base.cpp.

Member Data Documentation

◆ deviceMemoryManager

DeviceMemoryManager* const OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::deviceMemoryManager
protected

The Device memory manager.

Definition at line 106 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ fourierTransformedVelocities

std::vector<std::deque<std::pair<FP, Vector3D<std::complex<MPCParticleVelocityType> > > > > OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::fourierTransformedVelocities
protected

The Fourier-transformed velocities measured, along with the corresponding simulation timestamps.

Definition at line 115 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ imagBuffer

MPCParticleVelocityType* OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::imagBuffer
protected

Device buffer for temporary results.

Definition at line 110 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ k_n

std::vector<std::vector<MPCParticlePositionType> > OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::k_n
protected

The multiples of \( 2*\pi/L_i \) for each component \( i \) of each \(\vec{k}\) vector.

Definition at line 112 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ mpcFluid

const MPCFluid::Base* const OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::mpcFluid
protected

The fluid to measure.

Definition at line 107 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ realBuffer

MPCParticleVelocityType* OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::realBuffer
protected

Device buffer for temporary results.

Definition at line 109 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.

◆ simulation

const Simulation* const OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Base::simulation
protected

The simulation instance.

Definition at line 105 of file CUDA/MPCFluid/Instrumentation/FourierTransformedVelocity/Base.hpp.


The documentation for this class was generated from the following files: