Why won't my bomb explode?

Hello!
I am trying to make a bomb that will explode on impact, but as of right now all I can see is that it registers that I am hitting it with a player object. I have a feeling that something is wrong in the code, but I cannot seem to find the problem. If anyone can see it, or has another idea of how to make it work, it would be much appreciated. I have tried to add the code below.
.
.

.
.
public class Explosion : MonoBehaviour
{
Collider2D inExplosionRadius = null;
[SerializeField] private float ExplosionForceMulti = 2;
[SerializeField] private float ExplosionRadius = 2;

void OnCollisionEnter2D()
{
    Explode();
}

/* public GameObject explosion; // drag your explosion prefab here

void OnCollisionEnter()
{
    GameObject expl = Instantiate(explosion, transform.position, Quaternion.identity) as GameObject;
    Destroy(gameObject); // destroy the grenade
    Destroy(expl, 3); // delete the explosion after 3 seconds
}*/

void Explode()
{
    inExplosionRadius = Physics2D.OverlapCircleAll(transform.position, ExplosionRadius);

    foreach (Collider2D o in inExplosionRadius)
    {
        Rigidbody2D o_rigidbody = o.GetComponent<Rigidbody2D>();
        if (o_rigidbody != null)
        {
            Vector2 distanceVector = o.transform.position - transform.position;
            if (distanceVector.magnitude > 0)
            {
                float explosionForce = ExplosionForceMulti / distanceVector.magnitude;
                o_rigidbody.AddForce(distanceVector.normalized * explosionForce);
            }
        }
    }
}

}

You shouldn’t be using OnCollisionEnter2D and OnCollisionEnter at the same time, since a gameObject can’t have multiple colliders of different spaces. Pick the right method and colliders for your objects depending if you’re working on a 2D or 3D space.