Treatment of slow events

Only the slow diffusion events, if any, are then considered in the loop over slow diffusion and desorption events.

In the second scan over the system a list of the slow events is accumulated in queue

    last = 0;
    for(is=0; is < size*size; is++)
        if (site[is].id > 0)
        {
            if(!difEq[site[is].env])
            for (i=0; i < NBRNUM; i++)
                if (site[is].nbr[i]->id == 0)
                {
                    queue[last].action = i;
                    queue[last].target = &site[is];
                    queue[last].rate = difRate[site[is].env];
                    last++;
                }
            for (i=0; i < NBRNUM/2; i++)
                if (site[is].nbr[i]->id != 0)
                {
                    queue[last].action = i+NBRNUM;
                    queue[last].target = &site[is];
                    queue[last].rate = desRate[site[is].env];
                    last++;
                }
        }


Source
Start
Back
Author Per Stoltze stoltze@fysik.dtu.dk