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

Class for measurements of Fourier-transformed velocities in MPC fluids that consist of triplets of particles. More...

#include <Triplets.hpp>

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

Public Member Functions

 Triplets (const Simulation *const sim, DeviceMemoryManager *devMemMgr, const MPCFluid::Base *const mpcFluid_)
 The constructor. More...
 
virtual ~Triplets ()
 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 triplets of particles.

The particles that belong to one triplet are assumed to be adjacent to each other in memory. E.g. triplet 0 consists of particles 0 and 1 and 2, triplet 1 of particles 3 and 4 and 5, etc.

Definition at line 28 of file Instrumentation/FourierTransformedVelocity/Triplets.hpp.

Constructor & Destructor Documentation

◆ Triplets()

OpenMPCD::CUDA::MPCFluid::Instrumentation::FourierTransformedVelocity::Triplets::Triplets ( const Simulation *const  sim,
DeviceMemoryManager devMemMgr,
const MPCFluid::Base *const  mpcFluid_ 
)

The constructor.

Parameters
[in]simThe simulation instance.
[in]devMemMgrThe Device memory manager.
[in]mpcFluid_The MPC fluid to measure.

◆ ~Triplets()

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

The destructor.

Definition at line 46 of file Instrumentation/FourierTransformedVelocity/Triplets.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::Triplets::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: