Dyverso Object Interaction

Dyverso fluids are able to interact with polygon objects and the first task is to classify an object's shape. In general we can differentiate three possible cases:

  1. Closed object. Fluid interacts with the outer surface.
  2. Closed object. Fluid interacts with the inner surface.
  3. Open, single sided object.

 

 

1. Outer surface | 2. Inner surface | 3. Open, single sided

 

Volume Modes

For the simulation it is necessary to tell Dyverso of which type the object is. In many cases, the differentiation from above is made automatically, but it does not hurt to check if this is done correctly under Selected object > Node Params > Volume > Volume mode

 

 

Now let's assign these options to the objects from the illustrations above. Object

  • #1 is "Solid inside"
  • #2 is "Solid outside"
  • #3 is "Shell".

"Shell" is of particular importance, because this mode creates an imaginary layer around the object to make it watertight. This also means that the fluid will never touch the object's surface.

The thickness of this layer is calculated as Cell size * 3.

Cell size

The "Volume" tab also contains a "Cell size" parameter for controlling the quality of the Dyverso-object interaction. The value is measured in metres and with higher settings, the gap between fluid and object will be bigger.

Also take a look at "Adjusting "Cell size" and "Surface offset"" below.

 

Cell size = 0.1 | Cell size = 0.75

 

RealFlow's default of 0.1 m offers a good balance between quality and speed, but for close-ups or small objects you should consider decreasing the value.

Leaking Objects

It might happen that some particles go through an object, regardless of the adjusted "Volume mode" or "Cell size". There are several ways to avoid this behaviour:

  • Add a → "k Volume" daemon. This daemon has a "Shape" option. Select "Objects" and choose the body to delete the leaking particles.
  • Check if the object's following option is active: Node Params > Dyverso - Particles Collision > DY Continuous Collision Detection (only visible with a Dyverso domain)
  • Slightly increase or decrease the object's Volume > Surface offset parameter to virtually inflate or shrink the object (see "Adjusting "Cell size" and "Surface offset"" below).
  • The domain's "Resolution" value also plays an important role, because it is responsible for the distance between the particles. Higher settings lead to better results.

 

If all these measures do not help then it is necessary to change the Dyverso solver's substeps – especially in conjunction with the domain's default → "Liquid - PBD" mode:

  • In simulations, time is subdivided into more or less small steps. The more substeps, the better the simulation.
  • Dyverso's "Liquid - PBD" uses just 2 substeps by default. With fast particles or moving objects it is very likely that the fluid literally cannot "see" the object.
  • Go to RealFlow's → "Simulation Options: Dyverso" and increase Liquid - PBD Solver > MAX substeps to 5 or 8. If the object is still leaking consider values of 10 or more.


Here is where to find the "Simulation Options" window:



Adjusting "Cell size" and "Surface offset"

It is possible to directly observe the impact of your "Cell size" and "Surface offset" settings an object's Node Params > Display Volume > Isosurface > Yes.

What you get is a purple mesh, representing the current adjustments. Now, change "Cell size" and "Surface offset" to get an optimal representation of the base object.

Use the 7 key for a bounding box view, or the 8 key to see the object's wireframe.

 

Base object | Cell size = 0.5 | Cell size = 0.25 | Cell size = 0.05