Why are fluid simulations so hard? Fluid simulations solving the hydrodynamic (HD) or the magneto-hydrodynamic (MHD) equations are very useful in physics, the latter being particularly useful for modeling plasmas.
Of course these equations are highly nonlinear and solving them accurately is difficult. My first question is, in the general case what some specific numerical challenges for building good fluid simulations solving HD/MHD?
I am also interested in the specific case of modeling multiphase gases, like those that appear in galaxy halos. What are the specific numerical challenges in this case?
 A: Here is a short list of the main challenges in solving magnetohydrodynamic equations accurately on a computer.
First of all, as you point out, the equations are strongly nonlinear because (for example) the constituitive relationships in the model contain nonconstant coefficients. This is not too much of a problem on a computer because you can replace a constant with a value that gets adjusted and updated for every time slice in the simulation, but you either have to calculate the new constant and then plug it into the model or have a look-up table on hand that the program uses for the updates. Either of these things adds complexity to the calculations needed to clank the simulation forward in time.
Second, you have differential equations for newton's laws, navier-stokes law, the gaseous equation of state, ohm's law, heat transfer, and maxwell's equations to solve that are all coupled together: for a given mass element in the plasma, you have to sum the magnetic, electrostatic, inertial, friction, and pressure forces acting on it, and each depends on the others in ways that you can't neglect- and this makes that system of equations very hard to solve.
Third, for best accuracy you have to divide the system into the smallest volume or mass elements and the smallest time slices possible to ensure you have captured all the relevant physics. All the coupled, nonlinear differential equations then have to be solved for every one of those tiny volume elements, at each of the tiny dT's, in order to advance the solution one time step. A system model's computational complexity hence scales with the 3rd power of the length scale in the model which blows up the time required to compute one time step, and doubling the time resolution of the model doubles the time required to solve it.
All these things conspire against the model-writer, and require him or her to use a net of interconnected supercomputers to do the job- and a truly gigantic amount of dynamic memory in which to store the intermediate results of every dT in the model.
