I am not a mathematician but out of curiosity I am trying to implement the [SIS epidemic model][1] when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect **any** node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is **not able** to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate `B`, how do I simulate this when the nodes are mobile? 

Currently, the way I am doing this is in the following way:

    def Controller():
        for i in range(1,100):
            randNum = getRand()
            if (randNum <= InfectionRate):
                neighbors = getNeighbors(i)
                ScheduleTransmission(getCurrentTime(), i, neighbors)
        Schedule(getCurrentTime() + 1, Controller)

Any suggestions on whether I am heading in the right direction?

  [1]: http://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SIS_model