OpenMPCD
Namespaces | Functions
fourierTransformedVelocity.hpp File Reference
#include <OpenMPCD/Types.hpp>
#include <OpenMPCD/Vector3D.hpp>
#include <complex>
Include dependency graph for fourierTransformedVelocity.hpp:

Go to the source code of this file.

Namespaces

 OpenMPCD::CUDA
 Namespace for simulations using CUDA.
 
 OpenMPCD::CUDA::MPCFluid
 Namespace for MPC Fluid classes.
 
 OpenMPCD::CUDA::MPCFluid::DeviceCode
 Contains CUDA Device code.
 

Functions

const Vector3D< std::complex< MPCParticleVelocityType > > OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_simpleMPCFluid (const unsigned int particleCount, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const buffer1, MPCParticleVelocityType *const buffer2)
 Calculates the velocity in Fourier space, assuming a simple MPC fluid. More...
 
__global__ void OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_simpleMPCFluid_single (const unsigned int workUnitOffset, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
 Device function for calculation of summands of the real and imaginary part of the velocity in Fourier space, assuming a simple MPC fluid. More...
 
const Vector3D< std::complex< MPCParticleVelocityType > > OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_doubletMPCFluid (const unsigned int doubletCount, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const buffer1, MPCParticleVelocityType *const buffer2)
 Calculates the velocity in Fourier space, assuming an MPC fluid consisting of pairs of MPC particles. More...
 
__global__ void OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_doubletMPCFluid_single (const unsigned int workUnitOffset, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
 Device function for calculation of summands of the real and imaginary part of the velocity in Fourier space, assuming an MPC fluid consisting of pairs of MPC particles. More...
 
const Vector3D< std::complex< MPCParticleVelocityType > > OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_tripletMPCFluid (const unsigned int tripletCount, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const buffer1, MPCParticleVelocityType *const buffer2)
 Calculates the velocity in Fourier space, assuming an MPC fluid consisting of triplets of MPC particles. More...
 
__global__ void OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_tripletMPCFluid_single (const unsigned int workUnitOffset, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
 Device function for calculation of summands of the real and imaginary part of the velocity in Fourier space, assuming an MPC fluid consisting of triplets of MPC particles. More...
 
const Vector3D< std::complex< MPCParticleVelocityType > > OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_chainMPCFluid (const unsigned int chainCount, const unsigned int chainLength, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const buffer1, MPCParticleVelocityType *const buffer2)
 Calculates the velocity in Fourier space, assuming an MPC fluid consisting of chains of MPC particles. More...
 
__global__ void OpenMPCD::CUDA::MPCFluid::DeviceCode::calculateVelocityInFourierSpace_chainMPCFluid_single (const unsigned int workUnitOffset, const unsigned int chainLength, const MPCParticlePositionType *const positions, const MPCParticleVelocityType *const velocities, const Vector3D< MPCParticlePositionType > k, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
 Device function for calculation of summands of the real and imaginary part of the velocity in Fourier space, assuming an MPC fluid consisting of chains of MPC particles. More...
 
const Vector3D< std::complex< MPCParticleVelocityType > > OpenMPCD::CUDA::MPCFluid::DeviceCode::reduceVelocityInFourierSpaceBuffers (const unsigned int summandCount, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
 Reduces the calculated summands of the velocity in Fourier space. More...
 

Detailed Description

Defines CUDA Device code for OpenMPCD::CUDA::MPCFluid::Instrumentation

Definition in file fourierTransformedVelocity.hpp.