# PhasicFlow: pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel > Struct Template 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.

pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel > Struct Template Reference
Collaboration diagram for pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >:
[legend]

## Public Types

using | PairType = typename ContactListType::PairType
using | ValueType = typename ContactListType::ValueType

## Public Member Functions

pwInteractionFunctor (real dt, ContactForceModel forceModel, ContactListType tobeFilled, TraingleAccessor triangles, MotionModel motionModel, deviceViewType1D< real > diam, deviceViewType1D< uint32 > propId, deviceViewType1D< realx3 > pos, deviceViewType1D< realx3 > lVel, deviceViewType1D< realx3 > rVel, deviceViewType1D< realx3 > cForce, deviceViewType1D< realx3 > cTorque, deviceViewType1D< uint32 > wTriMotionIndex, deviceViewType1D< uint32 > wPropId, deviceViewType1D< realx3 > wCForce)

INLINE_FUNCTION_HD void | operator() (const int32 n) const

## Public Attributes

real | dt_
ContactForceModel | forceModel_
ContactListType | tobeFilled_
TraingleAccessor | triangles_
MotionModel | motionModel_
deviceViewType1D< real > | diam_
deviceViewType1D< uint32 > | propId_
deviceViewType1D< realx3 > | pos_
deviceViewType1D< realx3 > | lVel_
deviceViewType1D< realx3 > | rVel_
deviceViewType1D< realx3 > | cForce_
deviceViewType1D< realx3 > | cTorque_
deviceViewType1D< uint32 > | wTriMotionIndex_
deviceViewType1D< uint32 > | wPropId_
deviceViewType1D< realx3 > | wCForce_

## Detailed Description

### template<typename ContactForceModel, typename ContactListType, typename TraingleAccessor, typename MotionModel>
struct pFlow::sphereInteractionKernels::pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >

Definition at line 170 of file sphereInteractionKernels.hpp.

## Member Typedef Documentation

## PairType

using PairType = typename ContactListType::PairType

Definition at line 172 of file sphereInteractionKernels.hpp.

## ValueType

using ValueType = typename ContactListType::ValueType

Definition at line 173 of file sphereInteractionKernels.hpp.

## Constructor & Destructor Documentation

## pwInteractionFunctor()

pwInteractionFunctor | ( | real | dt,
|  | ContactForceModel | forceModel,
|  | ContactListType | tobeFilled,
|  | TraingleAccessor | triangles,
|  | MotionModel | motionModel,
|  | deviceViewType1D< real > | diam,
|  | deviceViewType1D< uint32 > | propId,
|  | deviceViewType1D< realx3 > | pos,
|  | deviceViewType1D< realx3 > | lVel,
|  | deviceViewType1D< realx3 > | rVel,
|  | deviceViewType1D< realx3 > | cForce,
|  | deviceViewType1D< realx3 > | cTorque,
|  | deviceViewType1D< uint32 > | wTriMotionIndex,
|  | deviceViewType1D< uint32 > | wPropId,
|  | deviceViewType1D< realx3 > | wCForce
| ) |  |

inline

Definition at line 195 of file sphereInteractionKernels.hpp.

## Member Function Documentation

## operator()()

INLINE_FUNCTION_HD void operator() | ( | const int32 | n | ) | const

inline

Definition at line 230 of file sphereInteractionKernels.hpp.

References pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::cForce_, cross(), pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::cTorque_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::diam_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::dt_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::forceModel_, pFlow::sphTriInteraction::isSphereInContactBothSides(), pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::lVel_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::motionModel_, n, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::pos_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::propId_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::rVel_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::tobeFilled_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::triangles_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::wCForce_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::wPropId_, pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::wTriMotionIndex_, triple< T >::x_, triple< T >::y_, and triple< T >::z_.

Here is the call graph for this function:

## Member Data Documentation

## dt_

real dt_

Definition at line 175 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## forceModel_

ContactForceModel forceModel_

Definition at line 177 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## tobeFilled_

ContactListType tobeFilled_

Definition at line 178 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## triangles_

TraingleAccessor triangles_

Definition at line 180 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## motionModel_

MotionModel motionModel_

Definition at line 181 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## diam_

deviceViewType1D<real> diam_

Definition at line 183 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## propId_

deviceViewType1D<uint32> propId_

Definition at line 184 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## pos_

deviceViewType1D<realx3> pos_

Definition at line 185 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## lVel_

deviceViewType1D<realx3> lVel_

Definition at line 186 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## rVel_

deviceViewType1D<realx3> rVel_

Definition at line 187 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## cForce_

deviceViewType1D<realx3> cForce_

Definition at line 188 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## cTorque_

deviceViewType1D<realx3> cTorque_

Definition at line 189 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## wTriMotionIndex_

deviceViewType1D<uint32> wTriMotionIndex_

Definition at line 190 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## wPropId_

deviceViewType1D<uint32> wPropId_

Definition at line 191 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

## wCForce_

deviceViewType1D<realx3> wCForce_

Definition at line 192 of file sphereInteractionKernels.hpp.

Referenced by pwInteractionFunctor< ContactForceModel, ContactListType, TraingleAccessor, MotionModel >::operator()().

The documentation for this struct was generated from the following file:

- src/Interaction/sphereInteraction/sphereInteraction/sphereInteractionKernels.hpp