Tnargwoxow, well... this is quite an indepth topic. my advice would be to download their code and break it down and learn from it. reading a few physics books based on particle motion etc... such as Brownian Motion may be of help.
I usually use my imagination when coding particle effects, in fact when coding anything, just wonder in deep thought and 'imagine' how the particles move then convert the picture in your mind into pseudo-code then to actual computer code.
try coding a falling ball at first, imagine the ball falling in your mind, note gravity, speed, acceleration, upward force etc...
hope it helps