OpenMPCD
Namespaces | Functions
ImplementationDetails/Simulation.hpp File Reference
#include <OpenMPCD/Types.hpp>
#include <OpenMPCD/Vector3D.hpp>
Include dependency graph for ImplementationDetails/Simulation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 OpenMPCD::ImplementationDetails
 Namespace for implementation details that do not have to concern the users of the main functionality.
 

Functions

unsigned int OpenMPCD::ImplementationDetails::getCollisionCellIndex (const Vector3D< MPCParticlePositionType > &position, const unsigned int boxSizeX, const unsigned int boxSizeY, const unsigned int boxSizeZ)
 Returns the collision cell index for the given position. More...
 
void OpenMPCD::ImplementationDetails::sortIntoCollisionCellsLeesEdwards (const unsigned int particleID, const MPCParticlePositionType *const gridShift_, const FP shearRate, const FP mpcTime, const MPCParticlePositionType *const positions, MPCParticleVelocityType *const velocities, MPCParticleVelocityType *const velocityCorrections, unsigned int *const collisionCellIndices, const unsigned int boxSizeX, const unsigned int boxSizeY, const unsigned int boxSizeZ)
 Sorts the given particle into the collision cells, temporarily applying Lees-Edwards boundary conditions. More...
 
void OpenMPCD::ImplementationDetails::collisionCellContributions (const unsigned int particleCount, const MPCParticleVelocityType *const velocities, const unsigned int *const collisionCellIndices, MPCParticleVelocityType *const collisionCellMomenta, FP *const collisionCellMasses, const FP particleMass)
 Computes the collision cell mass and momentum contributions by the given particles. More...
 
Vector3D< MPCParticleVelocityType > OpenMPCD::ImplementationDetails::getCollisionCellCenterOfMassMomentum (const unsigned int collisionCellIndex, const MPCParticleVelocityType *const collisionCellMomenta)
 Returns the center-of-mass momentum of a collision cell. More...
 
Vector3D< MPCParticleVelocityType > OpenMPCD::ImplementationDetails::getCollisionCellCenterOfMassVelocity (const unsigned int collisionCellIndex, const MPCParticleVelocityType *const collisionCellMomenta, const FP *const collisionCellMasses)
 Returns the center-of-mass velocity of a collision cell. More...
 
void OpenMPCD::ImplementationDetails::collisionCellStochasticRotationStep1 (const unsigned int particleCount, MPCParticleVelocityType *const velocities, const FP particleMass, const unsigned int *const collisionCellIndices, const MPCParticleVelocityType *const collisionCellMomenta, const FP *const collisionCellMasses, const MPCParticlePositionType *const collisionCellRotationAxes, const FP collisionAngle, FP *const collisionCellFrameInternalKineticEnergies, unsigned int *const collisionCellParticleCounts)
 Applies the first step of the SRD rotation to the given particles. More...
 
void OpenMPCD::ImplementationDetails::collisionCellStochasticRotationStep2 (const unsigned int particleCount, MPCParticleVelocityType *const velocities, const unsigned int *const collisionCellIndices, const MPCParticleVelocityType *const collisionCellMomenta, const FP *const collisionCellMasses, const FP *const collisionCellVelocityScalings)
 Applies the first step of the SRD rotation to the given particles. More...
 
void OpenMPCD::ImplementationDetails::undoLeesEdwardsVelocityCorrections (const unsigned int particleCount, MPCParticleVelocityType *const velocities, const MPCParticleVelocityType *const velocityCorrections)
 Undoes the velocity corrections applied by sortIntoCollisionCellsLeesEdwards. More...
 

Detailed Description

Declares various functions that are needed in MPCD.

Definition in file ImplementationDetails/Simulation.hpp.