# PhasicFlow: linear< limited > 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.

linear< limited > Class Template Reference
Collaboration diagram for linear< limited >:
[legend]

## Classes

struct | contactForceStorage
struct | linearProperties

## Public Member Functions

| TypeInfoNV (modelName())
INLINE_FUNCTION_HD | linear ()
| linear (int32 nMaterial, const ViewType1D< real > &rho, const dictionary &dict)
INLINE_FUNCTION_HD | linear (const linear &)=default
INLINE_FUNCTION_HD | linear (linear &&)=default
INLINE_FUNCTION_HD linear & | operator= (const linear &)=default
INLINE_FUNCTION_HD linear & | operator= (linear &&)=default
INLINE_FUNCTION_HD | ~linear ()=default
INLINE_FUNCTION_HD int32 | numMaterial () const
INLINE_FUNCTION_HD void | contactForce (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 ovrlp_n, const realx3 &Vr, const realx3 &Nij, contactForceStorage &history, realx3 &FCn, realx3 &FCt) const

## Protected Types

using | LinearArrayType = symArray< linearProperties >

## Protected Member Functions

bool | readLinearDictionary (const dictionary &dict)

## Static Protected Member Functions

static const char * | modelName ()

## Protected Attributes

int32 | numMaterial_ = 0
ViewType1D< real > | rho_
LinearArrayType | linearProperties_

## Detailed Description

### template<bool limited = true>
class pFlow::cfModels::linear< limited >

Definition at line 31 of file linearCF.hpp.

## Member Typedef Documentation

## LinearArrayType

using LinearArrayType = symArray<linearProperties>

protected

Definition at line 68 of file linearCF.hpp.

## Constructor & Destructor Documentation

## linear() [1/4]

INLINE_FUNCTION_HD linear | ( |  | ) |

inline

Definition at line 179 of file linearCF.hpp.

## linear() [2/4]

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

inline

Definition at line 181 of file linearCF.hpp.

References fatalExit, linear< limited >::readLinearDictionary(), and linear< limited >::rho_.

Here is the call graph for this function:

## linear() [3/4]

INLINE_FUNCTION_HD linear | ( | const linear< limited > & |  | ) |

default

## linear() [4/4]

INLINE_FUNCTION_HD linear | ( | linear< limited > && |  | ) |

default

## ~linear()

INLINE_FUNCTION_HD ~linear | ( |  | ) |

default

## Member Function Documentation

## readLinearDictionary()

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

inlineprotected

Definition at line 78 of file linearCF.hpp.

References symArray< T, MemorySpace >::assign(), fatalErrorInFunction, ForAll, symArray< linearProperties >::getN(), dictionary::getVal(), linear< limited >::linearProperties_, pFlow::log(), linear< limited >::numMaterial_, pFlow::Pi, pFlow::pow(), Vector< T, Allocator >::size(), and pFlow::sqrt().

Referenced by linear< limited >::linear().

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

## modelName()

static const char* modelName | ( |  | ) |

inlinestaticprotected

Definition at line 160 of file linearCF.hpp.

## TypeInfoNV()

TypeInfoNV | ( | modelName() |  | ) |

## operator=() [1/2]

INLINE_FUNCTION_HD linear& operator= | ( | const linear< limited > & |  | ) |

default

## operator=() [2/2]

INLINE_FUNCTION_HD linear& operator= | ( | linear< limited > && |  | ) |

default

## numMaterial()

INLINE_FUNCTION_HD int32 numMaterial | ( |  | ) | const

inline

Definition at line 212 of file linearCF.hpp.

References linear< limited >::numMaterial_.

## contactForce()

INLINE_FUNCTION_HD void contactForce | ( | 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 | ovrlp_n,
|  | const realx3 & | Vr,
|  | const realx3 & | Nij,
|  | contactForceStorage & | history,
|  | realx3 & | FCn,
|  | realx3 & | FCt
| ) |  | const

inline

Definition at line 221 of file linearCF.hpp.

References dot(), length(), linear< limited >::linearProperties_, linear< limited >::contactForceStorage::overlap_t_, pFlow::Pi, pFlow::pow(), linear< limited >::rho_, and pFlow::sqrt().

Here is the call graph for this function:

## Member Data Documentation

## numMaterial_

int32 numMaterial_ = 0

protected

Definition at line 70 of file linearCF.hpp.

Referenced by linear< limited >::numMaterial(), and linear< limited >::readLinearDictionary().

## rho_

ViewType1D<real> rho_

protected

Definition at line 72 of file linearCF.hpp.

Referenced by linear< limited >::contactForce(), and linear< limited >::linear().

## linearProperties_

LinearArrayType linearProperties_

protected

Definition at line 74 of file linearCF.hpp.

Referenced by linear< limited >::contactForce(), and linear< limited >::readLinearDictionary().

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

- src/Interaction/Models/contactForce/linearCF.hpp