Since the implementation of fluid simulation in Blender, I have been fascinated by the realism produced – it just looks right. In our common experience, we expect that a liquid will always move under the influence of all forces acting upon it, including gravity, until it finally reaches a stable state, if possible. A very curious thing about a waterfall, for example, is that the shape of the bend (due mostly to momentum and gravity) is static, while the flow is dynamic.
Fluid Art: the idea.
What I had not seen among the various fluid simulation demonstrations online was something like a water fountain, where water would flow upward and fall bak down, revealing a shape that water, otherwise at rest, would not have. A sophisticated fountain, I thought, would be intriguing with its increased complexity. A simple implementation of this in Blender would have:
Several inflow objects
- Each one with the same vertical inflow velocity (Z)
- Each one with a specific horizontal inflow velocity (X and Y) so that the total effect is interesting
I decided to use sixteen inflow objects, arranged in a circle, as viewed from above, and direct the stream from each one up and toward the center. At the center, then, all streams would collide and stop moving in the horizontal direction, so that only vertical motion (down) remains.
If you visualize this, it is like a tree with a trunque and branches.
Starting point: how does a simulated fluid stream behave?
At this point, what was needed was some specific information about the distance and the shape of the stream for a given fluid velocity. I did many experiments with one stream to find simple values of geometry and velocity. Here is a screenshot of satisfactory results, as viewed from the side. ( insert Fig002.png ) The inflow object was a cube of small size to make a narrow stream, having a Z-velocity of 1 (up) and an X-velocity of 1 (positive, to the right), and Y-velocity of 0. It is important to note two things: (1) the stream crosses the origin of the grid, whereas later, the origin will become the center of the circle of inflow sources; (2) the final domain resolution of the mesh needs to be as high as possible; I was able to achieve 200.
Two streams collide: fluid becomes an obstacle as well.
To create a second stream, I made a mirror copy of the first stream across the origin, did the simulation and checked the result for a reasonable intersection of the two streams at the center. The two streams merged quite nicely and flowed downward at the center. The second inflow object had the same Z-velocity, but with an X-velocity of minus 1 (negative, to the left), and Y-velocity of 0.
Branching out: do the math.
The final configuration of inflow sources was a circle of sixteen cubes, equally spaced along the circumference, centered at the origin, as viewed from above. Each inflow object required calculation of the components of velocity in X and Y, which I have not included here, except to point out that the magnitude of the total horizontal velocity was equal to 1, and the direction was toward the center. The result of baquíng this setup yielded the desired tree shape.
Add some color: fake material is not easy.
Like elaborate water fountains on display at night, the lights are part of the art. I added colored spotlights above at strategic locations to give green reflections on the branches, and area lights along the trunque for brown reflections. The difficulty with this method was confining each color to specific parts of the tree, with no overlap. To take full advantage of this lighting setup, I changed the default material settings. Under the Shader tab, I set the amount of reflection at 1, the degree of specularity at 2, and the hardness at 1.
Conclusion: and a challenge.
I rendered several seconds of this simulation. Amazing. It was obvious that the effect worked. This project has been difficult and, at the same time, fun. What satisfies my curiosity is the good results from Blender’s fluid simulation function. And it is fascinating to watch a flowing liquid form a familiar, or at least, an interesting shape. My challenge to any reader is to try doing this with different geometries, velocities, lights, materials, even to use IPO curves to vary the fluid velocities with time. And have fun.
by Jak Harris
Jak Harris (okchoir) is a retired electrical engineer of northern Texas, USA, and has been using Blender since 2004. He enjoys choir singing and reading, and is currently building a steel-framed, retirement home.