Dan Wood
VortexVFX
About Me
EXPERTISE
VFX Artist
Connect
LOCATION
Mexico City,
WEBSITE
Houdini Skills
Availability
Not Specified
Recent Forum Posts
Working out skin friction drag from a flip sim Sept. 20, 2026, 3:55 p.m.
Ah, no, the big initial explosions are intentional - I left some gaps in the fluid for it to crash into, so I could stress test it with some reasonably violent motion.
I'm not using any of Houdini's default feedback here - the FLIP and Bullet solvers are completely decoupled (while still running in parallel in the same DOP loop), and I built my own feedback system to calculate the buoyancy, which is now using accurate physical values - the bodies are set to 50 density in that test, and it's using the FLIP output pressure field 1:1 to generate per-face forces, and then uses a script solver to edit the uniform force attached to each Bullet body. On the FLIP side, I'm importing the rigid body transform data and using it to generate the collision/collisionvel fields directly from high res meshes (while the bullet bodies themselves are using compound capsule colliders).
I'm not using any of Houdini's default feedback here - the FLIP and Bullet solvers are completely decoupled (while still running in parallel in the same DOP loop), and I built my own feedback system to calculate the buoyancy, which is now using accurate physical values - the bodies are set to 50 density in that test, and it's using the FLIP output pressure field 1:1 to generate per-face forces, and then uses a script solver to edit the uniform force attached to each Bullet body. On the FLIP side, I'm importing the rigid body transform data and using it to generate the collision/collisionvel fields directly from high res meshes (while the bullet bodies themselves are using compound capsule colliders).
Working out skin friction drag from a flip sim Sept. 20, 2026, 7:55 a.m.
Hooray! Finally solved the spinning issue. The skin friction is a good element to have solved, but as it turns out it wasn't what was causing the problem. I was applying the buoyancy forces to the bullet bodies using a Point Force, and letting that work out the linear and torque components.
Realised that of course, the Bullet solver is running its own multiple timesteps per timestep, and so presumably that point force was only correct at the start of each external timestep. As the body's COM moved, the point force would get left behind, so it would end up inducing a phantom torque behind the body. Switched to a Uniform Force and working out the force and torque components myself, and now it's finally behaving properly and stable even without any artificial drag forces or fluid velocity blending.
Realised that of course, the Bullet solver is running its own multiple timesteps per timestep, and so presumably that point force was only correct at the start of each external timestep. As the body's COM moved, the point force would get left behind, so it would end up inducing a phantom torque behind the body. Switched to a Uniform Force and working out the force and torque components myself, and now it's finally behaving properly and stable even without any artificial drag forces or fluid velocity blending.
Working out skin friction drag from a flip sim Sept. 17, 2026, 3:49 a.m.
Hmm, now I'm wondering if skin friction actually contributes enough to be noticeable at these kind of scales/velocities...
The problem I had before putting a drag force in was smooth regular objects (spheres, toruses/tori?, etc) would end up spinning endlessly while bobbing on the water surface. With the characteristic length set to the voxel size, and resulting Reynolds numbers in the 500-50,000 range, it yields absolutely tiny drag forces in a 3x3m water tank, and the spinning still happens. If I just jam in a ~0.3 additional drag coefficient, the spinning stops and the objects start to behave in a believable-looking way.
I suppose at this scale, more significant drag might be coming from adhesion/surface tension stickiness... which I'm not sure where to start modelling realistically. I suppose at this point I should probably just implement as an "artistic" sticktion coefficient.
The problem I had before putting a drag force in was smooth regular objects (spheres, toruses/tori?, etc) would end up spinning endlessly while bobbing on the water surface. With the characteristic length set to the voxel size, and resulting Reynolds numbers in the 500-50,000 range, it yields absolutely tiny drag forces in a 3x3m water tank, and the spinning still happens. If I just jam in a ~0.3 additional drag coefficient, the spinning stops and the objects start to behave in a believable-looking way.
I suppose at this scale, more significant drag might be coming from adhesion/surface tension stickiness... which I'm not sure where to start modelling realistically. I suppose at this point I should probably just implement as an "artistic" sticktion coefficient.