Go to the documentation of this file.
6 #ifndef OPENMPCD_CUDA_MPCFLUID_DEVICECODE_GAUSSIANCHAINS_HPP
7 #define OPENMPCD_CUDA_MPCFLUID_DEVICECODE_GAUSSIANCHAINS_HPP
36 const unsigned int particle1ID,
37 MPCParticlePositionType*
const positions,
38 MPCParticleVelocityType*
const velocities,
39 FP*
const accelerationBuffer,
40 const unsigned int particlesPerChain,
41 const FP reducedSpringConstant,
43 const unsigned int stepCount);
61 const unsigned int workUnitOffset,
62 MPCParticlePositionType*
const positions,
63 MPCParticleVelocityType*
const velocities,
64 FP*
const accelerationBuffer,
65 const unsigned int particlesPerChain,
66 const FP reducedSpringConstant,
68 const unsigned int stepCount);
82 MPCParticlePositionType*
const positions,
83 const unsigned int firstParticleID,
84 const unsigned int particleID,
85 const unsigned int lastParticleID,
86 const FP reducedSpringConstant,
const __device__ Vector3D< FP > getAccelerationGaussianChainVelocityVerlet(MPCParticlePositionType *const positions, const unsigned int firstParticleID, const unsigned int particleID, const unsigned int lastParticleID, const FP reducedSpringConstant, const FP timestep)
Computes the acceleration experienced by the given particle in the Gaussian Chain.
__global__ void streamGaussianChainsVelocityVerlet(const unsigned int workUnitOffset, MPCParticlePositionType *const positions, MPCParticleVelocityType *const velocities, FP *const accelerationBuffer, const unsigned int particlesPerChain, const FP reducedSpringConstant, const FP timestep, const unsigned int stepCount)
Streams the dumbbells by applying the velocity-Verlet algorithm.
__device__ void streamGaussianChainVelocityVerlet(const unsigned int particle1ID, MPCParticlePositionType *const positions, MPCParticleVelocityType *const velocities, FP *const accelerationBuffer, const unsigned int particlesPerChain, const FP reducedSpringConstant, const FP timestep, const unsigned int stepCount)
Streams the given Gaussian Chain by applying the velocity-Verlet algorithm.