discrete particle simulation