Moving HyFLIP Domains
A very common approach with large scale fluid simulations and all kinds of vessels is the usage of moving domains. This technique allows you to simulate only a small area – a segment – around a ship instead of a huge volume. And this fluid segment moves with the ship. Such a setup is just a matter of minutes:
- Start with the → animation of the ship.
- A linear motion along an axis is the most economic type of motion in terms of domain size and simulation time.
Now, a container is required to keep the fluid:
- Create a container, for example a “Cube_top_open” object from the “Objects” shelf.
- Scale the container until it encloses the entire way of the ship and its geometry.
- It is also possible to start with the ship outside the container in order to get a smooth initial bow wave.
In the next step, an emitter object is added:
- This simple “Cube” will be moving and represents the fluid segment around the ship (see inner cube in the image above)
- Its length should be greater than the ship; its width should match the width of the container.
- Cube01 > Node Params > Node > Parent to > select the animated ship
- With this step the emitter object will follow the ship's motion.
- Hybrido shelf > Emitter > select “Cube01” if you are prompted to do so.
- Hybrido shelf > Domain
The scene setup is almost ready:
- Daemons shelf > Gravity | k Volume
- Rescale the “k Volume” daemon as seen in the image below and place it behind the emitter object.
- k_Volume01 > Node Params > k_Volume > Inverse > Yes
- k_Volume01 > Node Params > Node > Parent to > select the animated ship
- The daemon will now follow the ship as well.
- To be on the save side add a second "k Volume" and place it near the ship's bow.
Finally, an important step to make everything work:
- HY_Emitter01 > Stream > Yes
- This option makes sure that the emitter object is constantly refilled while moving.
- If you want to achieve stronger waves or the impression of a higher speed set "Initial velocity" to "Constant", and increase “@ speed”.
- When “@ speed” is greater than 0 rotate the emitter's viewport icon with the E key: it should point in opposite direction to the ship's motion direction.
Run a test simulation to see if everything works. In the last step configure the HyFLIP domain, → cell sizes, and → fluid-object interaction. Then, start the final simulation.