Miscellaneous Eddy Questions

Hi there, I have a few more questions/feature requests that have arisen during my testing I thought I would share:

  • VDB Cache Offset: I knocked together something, but I would imagine this could be a useful feature for people.
  • Gravity force: I was doing some tests for a hanging dust volume. In the end I used a negative buoyancy, but its not quite the same thing.
  • Stats: It would be great to have the option for adding meta data for simulation/render time-per-frame, memory usage, dynamic setting etc.

Hi Rob,

these are great suggestions.

  • I’ve added the frame offset to the loader and will be in the next build.

the gravity/buoyancy topic is a bit more tricky, but we’ll have a think about it. main reason is that at the moment for the smoke solver the buoyancy is driven by density differentials vs in the combustion fire solver its based on heat convection. We were just discussing if it might be better to separate the two terms so you have individual control. You can also do that on your side by modifying the template files which create the elements.

in the step function of the sparse_smoke solver python template you’ll see this line:
buoyancy(self, density_channel=“density”, velocity_channel=“velocity”, buoyancy_dir=VectorFieldParameter(self.settings[“buoyancy_dir”]), ambient=ScalarFieldParameter(0.0), dt=dt_scale)

as you can see the ambient term is currently not exposed, but might be very helpful for your application. you can expose another parameter on the template and reference it there.

self.settings.add(SettingsFloatValue(name=“buoyancy_ambient”, display_name=“Buoyancy Ambient”, default=0.0))
add the param to the layout below where all the other params get added:
then in the step function reference it:
buoyancy(self, density_channel=“density”, velocity_channel=“velocity”, buoyancy_dir=VectorFieldParameter(self.settings[“buoyancy_dir”]), ambient=ScalarFieldParameter(self.settings[“buoyancy_ambient”]), dt=dt_scale)

the ambient value is used to compute the difference. so lets say you increase it above your average density values, things will go in the opposite direction of the buoyancy dir ( eg a dry ice effect). I got decent results when working with a decent dissipation rate that thins out areas and will eventually fall below the ambient threshold and start going back down/linger.
generally this produces a lot more shear in the flow itself producing more natural looking effects/fluid motion.

Let me know if this is helpful and I can expose this also in the next build.

the stats are a great idea and we’ll definitely add that to our list of things.

let me know if there is anything else we can help with.


1 Like

Hi Christoph,

after a little hiatus, I’m back to running some tests in Eddy.
I see that you have added the frame offset to the latest version - which is cool :slight_smile:
I also want to try to implement your suggestion above for the ambient buoyancy adjustment. Sounds like it could be useful for simulating a heavier material such as dust…?

Also, I was wondering - is there a time scale for adding the directional/distant light or some render stats (mentioned above)?
In particular the stats would be handy for me right now as we try to evaluate the relative efficiency of some limited GPU rendering compared to our large CPU render farm.



Hi Rob,

sorry I just saw this now :frowning:
We can put together another template that has these controls exposed. Let me put that on the list for an upcoming version. We can also add the directional/distant light on our short term list.

Let me get back to you on the stats feature. I agree the metadata route seems the most attractive.


Hi again Christoph,

as you can see its still been a bit stop start for me. I was just taking a look at trying to add the gravity, but I’m not sure making those updates is going to be within my technical abilities!
I have found the python file in the templates/ folder: is the idea that I would just duplicate one of those files and it would get found inside the Eddy node?
Our tools directory is write protected - so is the a local directory that these could also get picked up from…?
Or perhaps there have been some recent updates in this area :wink: ?



Hi Rob,

Happy New Year :slight_smile:
The path situation isn’t ideal, so we’ll put something together that allows you to include additional paths and allow customisation of the template source directories. Shouldn’t take too long and I’ll let you know when its done. We’ll put the modified template in there too for reference.



Hi Rob,

I’ve gone ahead and added the path stuff so you can play around with customizing a template.

You can give this a try using the latest dev build. It should be on your download portal by now.

The env variable you will need to define is EDDY_TEMPLATE_PATH.

As a convenience, I’ll send you a version of the sparse template that has the buoyancy ambient value exposed.

Let me know if you have any issues with this build as it’s still going through testing.


1 Like