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.


A frame from the simulation with a second "k Volume" at the cube node's front.