Particle Collision

group Particle collision manager for DEM system

Particle collision class.

class ParticleCollision
#include <Collision.H>

Public Functions

void takeModel(int model)

Set the collision model to be used for particle interactions.

Parameters:

model – Integer identifier for the collision model

void DKTModel()

Apply the Discrete Element Method (DEM) collision model.

This function implements the DEM approach for particle-particle collisions.

void SetGeometry(RealVect gm_lo, RealVect gm_hi, Real size, Real l)

Generate background mesh for collision detection.

Parameters:
  • gm_lo – Lower bounds of the computational domain

  • gm_hi – Upper bounds of the computational domain

  • size – Particle size parameter

  • l – Grid spacing for collision mesh

void InsertParticle(RealVect location, RealVect velocity, Real radius, Real rho)

Insert a particle into the collision detection system.

Parameters:
  • location – Position of the particle

  • velocity – Velocity of the particle

  • radius – Radius of the particle

  • rho – Density of the particle

void InsertCollision(CollisionParticle *p1, CollisionParticle *p2)

Insert a collision pair into the collision collector.

Parameters:
  • p1 – Pointer to first particle in collision pair

  • p2 – Pointer to second particle in collision pair

void GenerateCollisionPairs()

Generate all possible collision pairs between particles.

This function identifies which particles are in close proximity and may collide during the current timestep.

void ResolveCollisionPairs()

Resolve all collision pairs using the selected collision model.

This function applies collision forces and updates particle states based on the detected collisions.