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

Class for measurements of Fourier-transformed velocities in MPC fluids that consist of chains of arbitrary size. More...

#include <Chains.hpp>

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

Public Member Functions

 Chains (const unsigned int chainLength_, const Simulation *const sim, DeviceMemoryManager *devMemMgr, const MPCFluid::Base *const mpcFluid_)
 The constructor. More...
 
virtual ~Chains ()
 The destructor. More...
 
virtual void measure ()
 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 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

Class for measurements of Fourier-transformed velocities in MPC fluids that consist of chains of arbitrary size.

All chains are assumed to be of the same length.

The particles that belong to one chain are assumed to be adjacent to each other in memory. E.g. chain 0 consists of particles [0,n-1], chain 1 of particles [n,2n-1], etc.

Definition at line 29 of file Instrumentation/FourierTransformedVelocity/Chains.hpp.

Constructor & Destructor Documentation

◆ Chains()

OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains::Chains ( const unsigned int  chainLength_,
const Simulation *const  sim,
DeviceMemoryManager devMemMgr,
const MPCFluid::Base *const  mpcFluid_ 
)

The constructor.

Parameters
[in]chainLength_The number of MPC fluid particles per chain.
[in]simThe simulation instance.
[in]devMemMgrThe Device memory manager.
[in]mpcFluid_The MPC fluid to measure.

◆ ~Chains()

virtual OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Chains::~Chains ( )
inlinevirtual

The destructor.

Definition at line 49 of file Instrumentation/FourierTransformedVelocity/Chains.hpp.

Member Function Documentation

◆ isConfigured()

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

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::Chains::measure ( )
virtual

◆ save()

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

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
protectedinherited

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
protectedinherited

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
protectedinherited

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
protectedinherited

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
protectedinherited

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
protectedinherited

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
protectedinherited

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 file: