Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Inflow Constrain Fluid Velocity Additional Notes
This document details additional notes and applications for the Inflow object Constrain Fluid Velocity parameter.
What does this setting do?
By default (when this option is disabled), an inflow object works by filling empty space with fluid. After the fluid is spawned, the simulation immediately takes control of the fluid and drops the fluid according to the force of gravity.
When this option is enabled, instead of giving control completely to the simulation, the inflow will force the fluid inside of the object to match the inflow emission velocity. This is what is meant by constraining the fluid velocity.
What are the applications of enabling this setting?
This section will detail a few interesting use cases for enabling this setting.
Slowing Inflow Fluid Emission
When this option is disabled, spawned fluid immediately begins dropping to the ground due to gravity. This speed may be too fast, producing too much fluid for the effect you want to achieve. By enabling this option and setting a low inflow velocity, you can force the fluid to emit from the inflow more slowly.
Pushing Around Fluid When Submerged
Inflow object only emit fluid where there is empty space. When this option is disabled, the inflow will do nothing when completely submerged. By enabling this option, you can use a submerged inflow to push around fluid, since this option forces fluid to match its emission velocity.
Here is a simple example animation of how a submerged inflow can circulate fluid around a domain.
Creating a Submerged Pipe That Fills a Tank
A common fluid simulation idea is to create an inflow to fill an object from the bottom up. But when enabling the constrain fluid velocity, the submerged inflow will only push around fluid. No new fluid will be created! It will take some modifications to make this work.
A solution is to create an actual pipe! In real life, a tank would be filled using a pipe where the fluid is sourced elsewhere and perhaps uses a machine to 'pump' the liquid into the tank.To create a scenario within the simulator where an inflow can fill up a tank, a pipe obstacle object will need to be created with an inflow located inside of the pipe object. The inflow velocity setting will act as the 'pump' that pushes fluid through the pipe and fills up the tank.
Important Note: That gap between the inflow and the back of the 'pipe' is necessary for fluid to flow. If there was no gap, the fluid simulation solver would treat the fluid is if it was stuck against a vacuum and the fluid would 'stick' to the back of the pipe.
Using this pipe setup, the inflow is now able to push out fluid and fill up the tank, even when submerged. The pipe object that surrounds the inflow prevents outside fluid from entering the inflow object and being recirculated.
Here is a simple example animation of using this pipe setup to fill the domain.