Objects - Liquid - Particles Interaction

This panel is only visible with an emitter present in the currently opened scene. It governs and controls the interaction between particles and the object, and each object has its own "Particle Fluid Interaction" settings. These parameters are also responsible for surface properties, like friction.

One of the most common errors with particle-object interaction is interpenetration. In this case, particles can pass through a solid object and become isolated from the rest of the fluid. Such a behaviour is often related to “Collision distance”, substeps, scale and your object’s geometry. The following explanations do not only explain basic functionality, but also give you valuable tips on how to avoid these problems. Please keep in mind that RealFlow automatically adjusts “Collision distance” when scene scale becomes changed. You can see five parameters with little chessboard icons. These symbols indicate that you are able to load a RGB image map, representing different zones of friction or roughness, for example. RealFlow interprets the file's grey shades and translates them into values. This feature also makes use of UV coordinates, so please do not forget to relax the object’s UV before export. To import a map please right-click on the appropriate parameter and choose “Load texture”. A detailed description can be found below under “Mapped Parameters”

 

 

Collision distance

This is probably the most important and most critical parameter. You can adjust the distance between the particles and the polygons of the object, and create gaps or perfect representations of the item’s shape. Lower values increase simulation time, but are also more accurate. Larger objects require greater values, but small bodies should have lower settings – something that is especially important for scale changes, too. If particles are still penetrating the polygons, higher “MIN” and/or “MAX substeps” should be considered.

RealFlow automatically adjusts “Collision distance” when an object is added or imported, but after scene scale changes it normally has to be corrected. Good values are around 1% of the object’s largest “Scale” value found under "Node". This means that you have to multiply this "Scale" value with 0.01 to get the correct "Collision distance". The parameter is measured in metres [m].

Distance tolerance

By increasing this value, RealFlow randomly spreads the particles to avoid perfect boundary layers. However the SPH specific layers cannot be removed completely with this parameter. If you want to get rid of these layers, you should consider a scale change, too. “Distance tolerance” ranges between 0.0 and 0.95.

Collision normal

This parameter provides three settings: “Both”, “Inward” and “Outward”. It controls which side of the object’s surface will interact with the particles and is great for filling containers from outside particle sources, for example.

Collision tolerance

If you have to create porous or leaky objects, this value is the perfect choice. With 0.0 you can completely prevent particles from passing through the object. A setting of 0.5 will cause 50% of all particles to go through the object’s surface. 1.0 completely suppresses interaction. “Collision tolerance” supports image-based parameters. When the “Collision tolerance” parameter is displayed in purple then a map is used.

Particle Friction

Here the resistance of a surface is specified. A value of 0.0 creates absolutely no friction and a perfect surface. In nature, objects always have a certain amount of friction, because there are no perfectly even surfaces. Higher values, on the other hand, can even completely stop particles from moving. With very high settings above 2.0 you may see exploding or escaping particles. Friction is very sensitive and should be changed carefully. Please also consider using an image map instead of a global value. When the “Particle friction” parameter is displayed in purple then a map is used.

Bounce

"Bounce" represents an surface’s elasticity in terms of object-particle interaction. It does not affect rigid body object-object interaction and elasticity. A value of 0.0 creates perfect elasticity; higher settings make the particles lose appropriate amounts of their energy. Extreme values should be avoided. The best working range is between 0.1 and 0.8. Instead of entering a global value, you can also use an image map.

Sticky

It can be seen as a “glue factor” to make particles stick on the object’s surface. This parameter accepts very high values and can also be adjusted to negative settings for repelling effects. Completely exaggerated values may add high accelerations to the particles and lead to unwanted results. Use a value similar to gravity as a reference and then adjust it until you get the desired effect. Please note that sticky only works with static objects. By right-clicking on the little black and white icon, you can load a bitmap to replace the given setting. When the “Sticky” parameter is displayed in purple then a map is used.

Roughness

Similar to friction, each surface contains a certain amount of roughness. In RealFlow, this value adds some randomness to the object’s polygon normals to produce a slightly different collision direction. This leads to a much more realistic behaviour. High values can cause the same problems as friction, and it is also a very sensitive parameter, ranging between 0.0 and 1.0. This setting also supports image maps. If you want to make this map visible in the viewport simply choose the “Flat Shaded” mode. When the “Roughness” parameter is displayed in purple then a map is used.

Temperature

This value only affects gas particles. Gas particles strongly react to temperature changes: higher temperatures make them rise due to higher (internal) pressure, while low settings are responsible for cooling effects, causing the particles to sink. “Temperature” is measured in Kelvin [K] and therefore no negative values are allowed. 0 K represent -273.15° C or -459.67° F.

Conductivity

Again a value that is only valid for gas particles. Here you can control the transfer of heat between the particles and the object. A value of 0.0 means that there is no heat transfer at all. “Conductivity” accepts very high values and is directly related to “Temperature”, which is a measure for the object’s heat energy.

Thin face test

You can choose between “No” and “Yes”. Normally, this parameter is not needed, but there might be cases when the particles are separated by a thin wall. Under such a circumstance the particles would interact with each other, though they should not do so. To avoid these interactions, “Thin face” test must be enabled.

Particle force

Each particle carries a certain amount of motion energy related to its velocity. With activated rigid body dynamics, this energy can be transferred to the object making it move. By altering “Particle force” you can decide how strong the object will be moved by the fluid.

Impulse

This setting works like a repulsion force, similar to a jet or a rocket engine. It can only be set to “Yes” or “No”, without options to control the strength of the impulse.

Mapped Parameters

You have already read that many parameters can be represented with image maps – here is some additional information. Image maps create areas of different influence, based on the colours of a bitmap or texture. The adjustments are made from a separate window, providing all relevant parameters and switches to make use of this feature. An additional function is that you are even able to load image sequences for animated parameters. Dark areas indicate zones with low values, while white represents the maximum.

 

 

Especially larger objects can strongly profit from this feature. You can, for example, create a river bed with low “Particle Friction”, while the outside areas have higher values. All this can now be painted to a map and then projected onto your object. This does not only work with RealFlow’s native items, but also with imported objects from SD files. It is important that imported objects carry (correct) UV coordinates.

It is even possible to make the used map or image sequence visible in RealFlow’s viewport. If you cannot see it, or work with multiple maps for different parameters, you can easily to show the desired map with:

Display > Texture > [ Map type ]

If you want to replace the fixed value with an image map, please do the following:

  • Right-click on one of the parameters with a chess board icon.

  • Choose “Load Texture” from the context menu.

  • RealFlow opens a new window called “Load Texture for Parameter”.

  • Fill out the dialogue and confirm your settings with “OK”.

File

Under “File” you can load one or more image files with TGA, BMP, JPG, PNG or TIF format. The path to the image is shown under File. With the “…” button it is possible to open your OS’s file picker. The images must be coloured – either 8 bit, or if supported, also 16 bit. Image sequences are recognized automatically and you do not have to select the first and the last frame. All files with an equal padding are loaded to the canvas.

Channel

Here you can choose one of the picture’s RGB channels. The currently active channel is shown in the canvas and updated according to your selection. “Min. value” and “Max. value” are, by default, the pixels’ intensities. They are spread over the available minimum and maximum range of a parameter but, in case of need, this range can be clipped by entering new values. The shades of the image channel are then spread over the given settings.

Min. value/Max. value

The grey shades of the loaded image will be transferred into values ranging from “Min. value” to “Max value”. So, the lowest grey tone will get the value from “Min. value”, and the highest grey tone receives the value from “Max. value”. All the other grey scales are calculated automatically between the given minimum and maximum.

Please bear in mind that the maximum value is 1.0 and “Min. value” cannot be greater than “Max. value”. This feature is also very interesting if you see problems like local instabilities or exploding particles. This can often be observed with very high “Particle friction” settings. In such a case, simply decrease “Max. value”, e.g. to values around 0.1.

Min. frame/Max. frame

These values are important for image sequences. You are able to specify a certain frame range that is used for parameter mapping. Simply enter the desired start and/or stop value and the frames outside of this range will be ignored.

FPS Ratio

With a value of 1 the image sequence is played at its original speed, e.g. 30 FPS. If you want to achieve faster or slower playback then you have to change "FPS Ratio" accordingly. Values above 1 will increase playback speed; smaller values are used to slow it down.

Offset

If you do not want to start with the first frame of your sequence, you can determine an “Offset” from which the series will start playing.

Loop

This option creates an infinite back and forth loop from the currently loaded image series.

Control buttons

They work exactly as in other video players. You can go to the first or last frame, to the previous or following frame, and start/stop playback. The slider allows you to scrub through the entire sequence and jump to a certain frame.

Skip

Finally, the “Skip” option is related to “FPS ratio”: while playing back an animated sequence, RealFlow cannot always achieve the given FPS rate. By checking “Skip”, RealFlow will play the image sequence with the adjusted FPS rate, but some images might be dropped. Without “Skip”, RealFlow shows all images, but there is no guarantee that the desired frame rate can be maintained.