Go to the documentation of this file.
6 #ifndef OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_DEVICECODE_FOURIERTRANSFORMEDVELOCITY_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_INSTRUMENTATION_DEVICECODE_FOURIERTRANSFORMEDVELOCITY_HPP
51 const unsigned int particleCount,
52 const MPCParticlePositionType*
const positions,
53 const MPCParticleVelocityType*
const velocities,
54 const Vector3D<MPCParticlePositionType> k,
55 MPCParticleVelocityType*
const buffer1,
56 MPCParticleVelocityType*
const buffer2);
80 const unsigned int workUnitOffset,
81 const MPCParticlePositionType*
const positions,
82 const MPCParticleVelocityType*
const velocities,
83 const Vector3D<MPCParticlePositionType> k,
84 MPCParticleVelocityType*
const realBuffer,
85 MPCParticleVelocityType*
const imaginaryBuffer);
110 const unsigned int doubletCount,
111 const MPCParticlePositionType*
const positions,
112 const MPCParticleVelocityType*
const velocities,
113 const Vector3D<MPCParticlePositionType> k,
114 MPCParticleVelocityType*
const buffer1,
115 MPCParticleVelocityType*
const buffer2);
139 const unsigned int workUnitOffset,
140 const MPCParticlePositionType*
const positions,
141 const MPCParticleVelocityType*
const velocities,
142 const Vector3D<MPCParticlePositionType> k,
143 MPCParticleVelocityType*
const realBuffer,
144 MPCParticleVelocityType*
const imaginaryBuffer);
169 const unsigned int tripletCount,
170 const MPCParticlePositionType*
const positions,
171 const MPCParticleVelocityType*
const velocities,
172 const Vector3D<MPCParticlePositionType> k,
173 MPCParticleVelocityType*
const buffer1,
174 MPCParticleVelocityType*
const buffer2);
198 const unsigned int workUnitOffset,
199 const MPCParticlePositionType*
const positions,
200 const MPCParticleVelocityType*
const velocities,
201 const Vector3D<MPCParticlePositionType> k,
202 MPCParticleVelocityType*
const realBuffer,
203 MPCParticleVelocityType*
const imaginaryBuffer);
227 const unsigned int chainCount,
228 const unsigned int chainLength,
229 const MPCParticlePositionType*
const positions,
230 const MPCParticleVelocityType*
const velocities,
231 const Vector3D<MPCParticlePositionType> k,
232 MPCParticleVelocityType*
const buffer1,
233 MPCParticleVelocityType*
const buffer2);
258 const unsigned int workUnitOffset,
259 const unsigned int chainLength,
260 const MPCParticlePositionType*
const positions,
261 const MPCParticleVelocityType*
const velocities,
262 const Vector3D<MPCParticlePositionType> k,
263 MPCParticleVelocityType*
const realBuffer,
264 MPCParticleVelocityType*
const imaginaryBuffer);
286 const unsigned int summandCount,
287 MPCParticleVelocityType*
const realBuffer,
288 MPCParticleVelocityType*
const imaginaryBuffer);
__global__ void 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...
__global__ void 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...
const Vector3D< std::complex< MPCParticleVelocityType > > reduceVelocityInFourierSpaceBuffers(const unsigned int summandCount, MPCParticleVelocityType *const realBuffer, MPCParticleVelocityType *const imaginaryBuffer)
Reduces the calculated summands of the velocity in Fourier space.
__global__ void 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...
const Vector3D< std::complex< MPCParticleVelocityType > > 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.
const Vector3D< std::complex< MPCParticleVelocityType > > 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 particl...
const Vector3D< std::complex< MPCParticleVelocityType > > 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.
const Vector3D< std::complex< MPCParticleVelocityType > > 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...
__global__ void 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...