Go to the documentation of this file.
21 #ifndef __grainRolling_hpp__
22 #define __grainRolling_hpp__
28 template<
typename contactForceModel>
31 public contactForceModel
36 typename contactForceModel::contactForceStorage;
50 "wrong number of values supplied in mur. \n";
66 contactForceModel(nMaterial, rho, dict),
67 mur_(
"mur", nMaterial)
99 if( !
equal(w_hat_mag,0.0) )
104 auto Reff = (Ri*Rj)/(Ri+Rj);
106 Mri = ( -
mur_(propId_i,propId_j) *
length(FCn) * Reff ) * w_hat ;
#define fatalExit
Fatal exit.
INLINE_FUNCTION_HD bool equal(const box &b1, const box &b2, real tol=smallValue)
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
static bool getN(uint32 nElem, uint32 &n)
bool assign(const Vector< T > src)
bool readGrainDict(const dictionary &dict)
#define fatalErrorInFunction
Report a fatal error and function name and exit the application.
INLINE_FUNCTION_HD T length(const triple< T > &v1)
grainRolling(int32 nMaterial, const ViewType1D< real > &rho, const dictionary &dict)
TypeInfoNV(word("normal<"+contactForceModel::TYPENAME()+">"))
Kokkos::View< T *, properties... > ViewType1D
1D veiw as a vector
T getVal(const word &keyword) const
get the value of data entry
#define INLINE_FUNCTION_HD
typename contactForceModel::contactForceStorage contactForceStorage
Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...