Particle Simulatons through Python

This spring, I took a course in computational physics as part of a requirement for my degree. While we used MATLAB for a variety of simulations, I was wondering how one might go about implementing the same things in Blender using Python.

Specifically, I am interested in controlling particle simulations numerically for concepts such as fluid flow, diffusion, etc. (likely by means of relaxation, cluster growth, and other such methods). The main problem that I am running into is that I don’t know how to access and work with particle caches, which I believe is necessary to iterate through these types of differential equation-driven simulations.

Does anyone have any resource recommendations or other pieces of advice on useful techniques in this area?

Thanks!