For large-scale plumes you can simulate your molecules as being emitted at a constant rate from a point source and see how this plume evolves with time. For smaller scale flows like a pizzeria, you may need use a model that can accommodate small scale features like buildings that will have an effect on atmospheric flows. Lastly, you'll also need to account for other emission sources as the perceived strength of the smell is also going to depend on what else you are smelling (e.g. car exhaust) and these other aerosols may be reactive or combined with the odors you are interested in tracking.
Once you have done this you will have a time varying plume of "smell" as output from your model. This will likely be output as a number concentration of aerosol molecules per unit volume per grid box. To turn this into "odor strength" is probably a harder problem and one I am not familiar with. As a first order approximation though, wherever the plume is located, so is the smell; and the higher the concentration of molecules, the stronger the odor.
One interesting thing to note here, is that in a stratified atmosphere you obviously have a preferred direction in 3D-space. This will make the diffusivity $\mu$ more efficient in the horizontal plane, than vertically. You could take this into account by splitting your Laplacian into $\mu_{vertical}\partial_{zz} + \mu_{horizontal}(\partial_{xx} + \partial_{yy})$.