Semiconductors have large numbers of particles that we need to follow in order to determine device operation. A typical silicon solar cell has a background doping of around 3 Ωcm and 2 x 1015 cm-3 majority carriers with almost as many minority carriers. A solar cell has a typical area of 240 cm² and a thickness of 100 to 200 µm so there are over 1016 cm-3 total carriers to follow. Clearly this number of carriers is unreasonable to track even for the most powerful computers. In most cases we assume that the carriers follow the drift-diffusion model so that instead of tracking each carrier we track the weighted statistically average (equivalent to a quasi-fermi level), much the same way that we track ‘temperature’ rather than the energy of each atom when heating a material.
If the carriers do not conform to the drift-diffusion model there are other models available. For instance, Monte-Carlo modeling follows random carriers in the system, and can model nano structured devices, but only on a very small scale even for the largest computers.