So, anyone here with a bit more of a formal physics/fluid-dynamics background than me?
I've been trying to roll my own high-accuracy buoyancy feedback setup (final force being a sum of locally-sampled forces on each face multiplied by their areas) - and so far have worked out how to apply the pressure-field-derived normal (buoyant) component correctly, and to some extent I've worked out how to apply the tangential skin friction drag component too... but for that, the skin friction coefficient requires a reynolds number, which is defined as: ρvx/μ - where fluid density, flow-speed and dynamic viscosity all seem straightforward enough, but trying to look up anything about x (characteristic length) just turns up answers like "it depends" and "the smallest scale that interesting behaviour happens over" and other empirical "measure it and see" style wooly stuff... but altering it seems to change the resulting drag force by entire orders of magnitude, so it seems like something that needs more than just shot-in-the-dark guesswork.
Also, the coefficient equation changes depending on whether it's laminar, transitional or turbulent flow, and even then, it seems like there are about as many different empirical equations for each as there are pages explaining it. I tried arbitrarily using the "Blasius solution": 0.664/sqrt(Re) for laminar flow but no idea which is most appropriate in the context of the flow at the surface of a floating object in a typical FLIP sim... or if I should be measuring the local turbulence and blending between them somehow.
In the specific context of a FLIP sim, with the information available (vel and pressure fields, etc.) - would anyone be able to explain to me what sort of numbers I should be shoving into a drag equation to actually model a vaguely physically correct locally-varying drag force on a (smooth) object floating in water?
For the time being, I've just set a uniform constant drag coefficient of 0.07, and it seems to work okay... but I'd like to get it closer to physically-correct if possible.
) - the key bit of info I was missing was using the voxel size as the characteristic length.