22 template <
typename cFM,
typename gMM>
25 ppPairs_.reset(
nullptr);
26 ppPairs_ = makeUnique<ContactListType>(1);
29 template <
typename cFM,
typename gMM>
32 pwPairs_.reset(
nullptr);
33 pwPairs_ = makeUnique<ContactListType>(1);
37 template <
typename cFM,
typename gMM>
43 geometryMotion_(geomMotion),
44 grnParticles_(grnPrtcls)
48 template <
typename cFM,
typename gMM>
55 word cfTypeName = ContactForceModel::TYPENAME();
56 word gmTypeName = MotionModel::TYPENAME();
60 "boundaryGrainInteraction",
66 "boundaryGrainInteraction",
70 if (boundaryBasevCtorSelector_.search(boundaryTypeName))
74 return boundaryBasevCtorSelector_[boundaryTypeName](
79 else if(boundaryBasevCtorSelector_[altBTypeName])
85 return boundaryBasevCtorSelector_[altBTypeName](
94 fatalError <<
"Ctor Selector "<< boundaryTypeName<<
95 " and "<< altBTypeName <<
" do not exist. \n"
96 <<
"Avaiable ones are: \n\n"
98 boundaryBasevCtorSelector_