I am playing around with simple simulations of particles in air flowing through simple models of masks. Masks are made from long thin fibres, so usually people model the flow around cross-sections of long cylinders, which as you can see above are just discs (shown in brown). The air flows between these cylindrical fibres. The air flow is shown above by the blue stream lines that show the paths taken by the flowing air between the fibres. The air flows from bottom to top in the image above. This air carries particles with it, and trajectories of 20 example particles are shown as green and orange curves.
The green curves are trajectories of particles that are carried by the air through the mask, and so not filtered. While the orange ones that end in little discs (each disc is about the size of the particle) are the trajectories of particles that are carried by the air so close to the surface of a fibre that the fibre intercepts the particle, and it is filtered out.
This toy example of a filter with three layers of fibres, filters out 4/20 = 5 % of the particles. The standard model of mask filtration assumes that the probability of each layer of fibres intercepting a particle is independent of this probability in adjacent layers. That assumption must, I think, be wrong, but I need to develop my code and make it more efficient before I can tests this assumption.