Efficient (fast & small) way to store/handle typically big amounts of data?

Imagine I want to simulate a cup of coffee (in a clear or invisible cup, so I can see it.) I want to simulate pouring a few ounces of cream into the coffee, and watch it swirl, somewhat realistically. (I don’t need “perfect”, but “looks good” matters.) I’d rather not simulate every molecule of coffee/cream, of course, but I can’t quite figure out to to efficiently deal with the data.

To complicate things: suppose I now want to do the same thing but with a lake. And I want to simulate some fool dumping his car battery into one end and show how the acid spreads. After dumping 100 batteries in one end of the lake, and simulating a little wind, current, etc., I want to answer the question “how much battery acid is in the swimming-area on the other side of the lake, 8 miles away?”

Or, if litterbugs bother you, the problem can be adding fresh water to salt, or vice versa, or the spread of algae – whatever! The idea is the same: oodles of data that I’d like to represent compactly, as much as possible.

Thanks!

You are asking on a gaming forum about state-of-the-art modelling techniques?

http://www.google.co.uk/search?client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial_s&hl=en&q=fluid+modelling&meta=&btnG=Google+Search

Perhaps a beefed-up version of Flow4k?