# PhasicFlow: pFlow::periodicBoundarySIKernels Namespace Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

pFlow::periodicBoundarySIKernels Namespace Reference

## Functions

template<typename ContactListType , typename ContactForceModel >

void

grainGrainInteraction (real dt, const ContactListType &cntctList, const ContactForceModel &forceModel, const realx3 &transferVec, const deviceScatteredFieldAccess< realx3 > &thisPoints, const deviceScatteredFieldAccess< realx3 > &mirrorPoints, const deviceViewType1D< real > &diam, const deviceViewType1D< real > &coarseGrainFactor, const deviceViewType1D< uint32 > &propId, const deviceViewType1D< realx3 > &vel, const deviceViewType1D< realx3 > &rVel, const deviceViewType1D< realx3 > &cForce, const deviceViewType1D< realx3 > &cTorque)

template<typename ContactListType , typename ContactForceModel >

void

sphereSphereInteraction (real dt, const ContactListType &cntctList, const ContactForceModel &forceModel, const realx3 &transferVec, const deviceScatteredFieldAccess< realx3 > &thisPoints, const deviceScatteredFieldAccess< realx3 > &mirrorPoints, const deviceViewType1D< real > &diam, const deviceViewType1D< uint32 > &propId, const deviceViewType1D< realx3 > &vel, const deviceViewType1D< realx3 > &rVel, const deviceViewType1D< realx3 > &cForce, const deviceViewType1D< realx3 > &cTorque)

## Function Documentation

## grainGrainInteraction()

void pFlow::periodicBoundarySIKernels::grainGrainInteraction | ( | real | dt,
|  | const ContactListType & | cntctList,
|  | const ContactForceModel & | forceModel,
|  | const realx3 & | transferVec,
|  | const deviceScatteredFieldAccess< realx3 > & | thisPoints,
|  | const deviceScatteredFieldAccess< realx3 > & | mirrorPoints,
|  | const deviceViewType1D< real > & | diam,
|  | const deviceViewType1D< real > & | coarseGrainFactor,
|  | const deviceViewType1D< uint32 > & | propId,
|  | const deviceViewType1D< realx3 > & | vel,
|  | const deviceViewType1D< realx3 > & | rVel,
|  | const deviceViewType1D< realx3 > & | cForce,
|  | const deviceViewType1D< realx3 > & | cTorque
| ) |  |

inline

Definition at line 8 of file periodicBoundarySIKernels.hpp.

References cross(), scatteredFieldAccess< T, MemorySpace >::field(), scatteredFieldAccess< T, MemorySpace >::index(), LAMBDA_HD, length(), n, triple< T >::x_, triple< T >::y_, and triple< T >::z_.

Referenced by periodicBoundaryGrainInteraction< contactForceModel, geometryMotionModel >::grainGrainInteraction(), and grainInteraction< contactForceModel, geometryMotionModel, contactListType >::iterate().

Here is the call graph for this function:
Here is the caller graph for this function:

## sphereSphereInteraction()

void pFlow::periodicBoundarySIKernels::sphereSphereInteraction | ( | real | dt,
|  | const ContactListType & | cntctList,
|  | const ContactForceModel & | forceModel,
|  | const realx3 & | transferVec,
|  | const deviceScatteredFieldAccess< realx3 > & | thisPoints,
|  | const deviceScatteredFieldAccess< realx3 > & | mirrorPoints,
|  | const deviceViewType1D< real > & | diam,
|  | const deviceViewType1D< uint32 > & | propId,
|  | const deviceViewType1D< realx3 > & | vel,
|  | const deviceViewType1D< realx3 > & | rVel,
|  | const deviceViewType1D< realx3 > & | cForce,
|  | const deviceViewType1D< realx3 > & | cTorque
| ) |  |

inline

Definition at line 8 of file periodicBoundarySIKernels.hpp.

References cross(), scatteredFieldAccess< T, MemorySpace >::field(), scatteredFieldAccess< T, MemorySpace >::index(), LAMBDA_HD, length(), n, triple< T >::x_, triple< T >::y_, and triple< T >::z_.

Referenced by sphereInteraction< contactForceModel, geometryMotionModel, contactListType >::iterate(), and periodicBoundarySphereInteraction< contactForceModel, geometryMotionModel >::sphereSphereInteraction().

Here is the call graph for this function:
Here is the caller graph for this function: