# Elastic collision for particle pairs in 3d EventQueueABM model

**URL:** <https://discourse.julialang.org/t/elastic-collision-for-particle-pairs-in-3d-eventqueueabm-model/115231>\
**Category:** Modelling & Simulations\
**Tags:** question, agents, modelling, eventqueueabm\
**Created:** [June 5, 2024, 12:57pm UTC](https://discourse.julialang.org/t/elastic-collision-for-particle-pairs-in-3d-eventqueueabm-model/115231 "2024-06-05T12:57:54Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sahil\_Khan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sahil_khan/32/47573_2.png) [@Sahil\_Khan](https://discourse.julialang.org/u/Sahil_Khan)\
**Post date:** [June 5, 2024, 12:57pm UTC](https://discourse.julialang.org/t/elastic-collision-for-particle-pairs-in-3d-eventqueueabm-model/115231/1 "2024-06-05T12:57:55Z")

</div>

Hello everyone,

I’m trying to make a model where 2 particles in 3d cubical space when comes to certain distance they do elastic collision. Now major issues are that

1. Elastic collision function is just for 2d in Agents.jl
2. Also finding interaction pairs is not possible in EventQueueABM as it doesn’t have scheduler which is required in interaction\_pair() function.

So, at the moment I was thinking that may be something like this can be done.

```julia
function something(agent, model)
      r = 0.01
    a1 = agent
    a2 = nearest_neighbor(a1, model, r)
    
    if typeof(a2) != Nothing
        elastic_collision!(a1, a2, :mass)
    end

end

```

Is it in right direction ? Any suggestion will be helpful 🙂
