# PhasicFlow: grainRolling< contactForceModel > Class 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.

grainRolling< contactForceModel > Class Template Reference
Inheritance diagram for grainRolling< contactForceModel >:
[legend]
Collaboration diagram for grainRolling< contactForceModel >:
[legend]

## Public Types

using | contactForceStorage = typename contactForceModel::contactForceStorage

## Public Member Functions

bool | readGrainDict (const dictionary &dict)
| TypeInfoNV (word("normal<"+contactForceModel::TYPENAME()+">"))
| grainRolling (int32 nMaterial, const ViewType1D< real > &rho, const dictionary &dict)
INLINE_FUNCTION_HD void | rollingFriction (const real dt, const uint32 i, const uint32 j, const uint32 propId_i, const uint32 propId_j, const real Ri, const real Rj, const real cGFi, const real cGFj, const realx3 &wi, const realx3 &wj, const realx3 &Nij, const realx3 &FCn, realx3 &Mri, realx3 &Mrj) const

## Public Attributes

realSymArray_D | mur_

## Detailed Description

### template<typename contactForceModel>
class pFlow::cfModels::grainRolling< contactForceModel >

Definition at line 29 of file grainRolling.hpp.

## Member Typedef Documentation

## contactForceStorage

using contactForceStorage = typename contactForceModel::contactForceStorage

Definition at line 36 of file grainRolling.hpp.

## Constructor & Destructor Documentation

## grainRolling()

grainRolling | ( | int32 | nMaterial,
|  | const ViewType1D< real > & | rho,
|  | const dictionary & | dict
| ) |  |

inline

Definition at line 64 of file grainRolling.hpp.

References fatalExit, and grainRolling< contactForceModel >::readGrainDict().

Here is the call graph for this function:

## Member Function Documentation

## readGrainDict()

bool readGrainDict | ( | const dictionary & | dict | ) |

inline

Definition at line 41 of file grainRolling.hpp.

References symArray< T, MemorySpace >::assign(), fatalErrorInFunction, symArray< real >::getN(), dictionary::getVal(), and grainRolling< contactForceModel >::mur_.

Referenced by grainRolling< contactForceModel >::grainRolling().

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

## TypeInfoNV()

TypeInfoNV | ( | word("normal<"+contactForceModel::TYPENAME()+">") |  | ) |

## rollingFriction()

INLINE_FUNCTION_HD void rollingFriction | ( | const real | dt,
|  | const uint32 | i,
|  | const uint32 | j,
|  | const uint32 | propId_i,
|  | const uint32 | propId_j,
|  | const real | Ri,
|  | const real | Rj,
|  | const real | cGFi,
|  | const real | cGFj,
|  | const realx3 & | wi,
|  | const realx3 & | wj,
|  | const realx3 & | Nij,
|  | const realx3 & | FCn,
|  | realx3 & | Mri,
|  | realx3 & | Mrj
| ) |  | const

inline

Definition at line 77 of file grainRolling.hpp.

References pFlow::equal(), length(), and grainRolling< contactForceModel >::mur_.

Here is the call graph for this function:

## Member Data Documentation

## mur_

realSymArray_D mur_

Definition at line 39 of file grainRolling.hpp.

Referenced by grainRolling< contactForceModel >::readGrainDict(), and grainRolling< contactForceModel >::rollingFriction().

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

- src/Interaction/Models/rolling/grainRolling.hpp