Go to the documentation of this file.
21 #ifndef __grainInteraction_hpp__
22 #define __grainInteraction_hpp__
38 typename contactForceModel,
39 typename geometryMotionModel,
40 template <
class,
class,
class>
class contactListType>
51 using MotionModel =
typename geometryMotionModel::MotionModel;
53 using ModelStorage =
typename ContactForceModel::contactForceStorage;
62 contactListType<ModelStorage, DefaultExecutionSpace, IdType>;
119 Kokkos::RangePolicy<Kokkos::IndexType<uint32>, Kokkos::Schedule<Kokkos::Dynamic>>;
159 const anyList& varList)
override;
169 #endif //__grainInteraction_hpp__
Timer contactListMangementBoundaryTimer_
const GeometryMotionModel & geometryMotion_
const reference to geometry
add_vCtor(interaction, grainInteraction, systemControl)
Add virtual constructor.
contactForceModel ContactForceModel
contactListType< ModelStorage, DefaultExecutionSpace, IdType > ContactListType
bool grainGrainInteraction()
Timer pwInteractionTimer_
timer for particle-wall interaction computations
rpPPInteraction rpPWInteraction
range policy for p-w interaction execution
const auto & control() const
Const ref to systemControl.
bool beforeIteration() override
This is called in time loop, before iterate. (overriden from demComponent)
bool afterIteration() override
This is called in time loop, after iterate. (overriden from demComponent)
Timer contactListMangementTimer_
timer for managing contact lists (only inernal points)
geometryMotionModel GeometryMotionModel
Timer boundaryInteractionTimer_
timer for boundary interaction time
typename ContactForceModel::contactForceStorage ModelStorage
bool createGrainInteraction()
uniquePtr< ContactListType > ppContactList_
contact list for particle-particle interactoins (keeps the history)
grainInteraction(systemControl &control, const particles &prtcl, const geometry &geom)
Constructor from components.
const grainParticles & grnParticles_
const reference to particles
bool iterate() override
This is called in time loop.
uniquePtr< ContactForceModel > forceModel_
contact force model
uniquePtr< ContactListType > pwContactList_
contact list for particle-wall interactions (keeps the history)
boundariesMask< 6 > activeBoundaries_
a mask for active boundaries (boundaries with intreaction)
Base class for geometry for managing tri-surfaces, geometry motion, and surface physical properties.
uniquePtr< contactSearch > contactSearch_
contact search object for pp and pw interactions
TypeInfoTemplate13("grainInteraction", ContactForceModel, MotionModel, ContactListType)
bool grainWallInteraction()
real dt() const
Time step of integration.
Timer ppInteractionTimer_
timer for particle-particle interaction computations
BoundaryListType boundaryInteraction_
particle-particle and particle-wall interactions at boundaries
Kokkos::RangePolicy< Kokkos::IndexType< uint32 >, Kokkos::Schedule< Kokkos::Dynamic > > rpPPInteraction
range policy for p-p interaction execution
typename geometryMotionModel::MotionModel MotionModel
bool hearChanges(real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
Check for changes in the point structures. (overriden from observer)