"Advect by Volume" position advection in DOP POPs?

   14098   6   1
User Avatar
Member
1694 posts
Joined: March 2020
Offline
Hi,


First of all, I'm experimenting on “bleeding edge” territory for quite a while now – using the “hidden” DOP POP nodes (popsource, popintegrator, etc) which were present in beta versions but are now hidden.

(The reason for this is that in terms of speed they _rock_. I don't want to get into details but I'm a much happier person now with all CPU cores working on particles )

Okay, so with that being said, I could replicate most POP stuff I wanted, but I'm not much of an expert of the advanced details of microsolvers and such, and the functionality I'm needing right now is _position_ advection of these particles.

I have some particles and a pyro simulation, and I want to use the pyro's velocity field so it would only advect particle positions (but without changing anything else on the particles).

I can advect using a fluid force, fine, but that uses a “force”-type advection which is not the effect I'm looking for. I tried the Gas Advect microsolver (not sure if I managed to set it up right, though), even tried to build a Geometry VOP DOP, but to no avail. (Any of these can be a solution though, as I could easily messed up their settings.)

Any ideas on how to achieve this?

cheers,
imre
Imre Tuske
FX Supervisor | Senior FXTD @ Weta FX

qLib -- Houdini asset library
http://qlab.github.io/qLib/ [qlab.github.io]
https://www.facebook.com/qLibHoudini [www.facebook.com]
User Avatar
Staff
818 posts
Joined: July 2006
Offline
riviera
I can advect using a fluid force, fine, but that uses a “force”-type advection which is not the effect I'm looking for. I tried the Gas Advect microsolver (not sure if I managed to set it up right, though), even tried to build a Geometry VOP DOP, but to no avail. (Any of these can be a solution though, as I could easily messed up their settings.)

Any ideas on how to achieve this?


I'd recommend looking at the internals of the Whitewater solver, which is the biggest user of the Pops-in-Dops toolset in 12.5. It advects the foam and bubble particles by the FLIP velocity field, basically using advection just to calculate an accurate “advection velocity” and adding it to the “targetv” of the particles.

It's a little more complicated in Whitewater, as it uses the velocity from the previous and current timestep to do midpoint advection in time, which is more accurate for things like foam, but probably unnecessary for advection by a Pyro sim. In that case you can directly use GasAdvect's ability to update a temporary velocity attribute only (not position), then add that temporary velocity into the particle's targetv with an airresist value controlling how strong the advection should be.

All these techniques are used within Whitewater.
User Avatar
Member
1694 posts
Joined: March 2020
Offline
Thanks for the tip, I managed to get it working eventually

The trick was to add the Fetch Data OP under the POP Object (and I kept trying to attach it near the gasadvect DOP, hence my frustrations and warnings of “unexpected subdata ‘vel’.”)

To have some advection outside the container, I set the pyro border type to Streak (pyro->Initial Data->Border Type).

What was misleading for me is I looked really hard in the whitewater solver, but not much in the whitewater _object_, which contained the velocity field attachment. DOPs can be “here be dragons” land for me sometimes…

cheers,
imre

Attachments:
hou_doppop_gasadvect.png (256.4 KB)

Imre Tuske
FX Supervisor | Senior FXTD @ Weta FX

qLib -- Houdini asset library
http://qlab.github.io/qLib/ [qlab.github.io]
https://www.facebook.com/qLibHoudini [www.facebook.com]
User Avatar
Member
13 posts
Joined: March 2013
Offline
Hey,

Old post but thanks for the tips, works like a charm

Steve
Steven Dupuy
Freelancer
User Avatar
Member
166 posts
Joined: March 2013
Offline
riviera
To have some advection outside the container, I set the pyro border type to Streak (pyro->Initial Data->Border Type).
Sorry if I'm going offtopic, but what is the difference between the different border types? It's something I've wondered for a while, even after reading the docs I don't fully understand.
User Avatar
Member
691 posts
Joined: June 2006
Offline
riviera
What was misleading for me is I looked really hard in the whitewater solver, but not much in the whitewater _object_, which contained the velocity field attachment. DOPs can be “here be dragons” land for me sometimes…
imre

In the whitewater solver they sample the vel field as a force to then do the integration with the powerful geometry vop dop hiden node.
I'm very courious about this node in H13, because all pop's finally will have a force integrator written with dops toolbox(H12.5) or HDK, we will see.
Feel The Knowledge, Kiss The Goat!!!
http://www.linkedin.com/in/alejandroecheverry [linkedin.com]
http://vimeo.com/lordpazuzu/videos [vimeo.com]
User Avatar
Member
22 posts
Joined: Dec. 2009
Offline
alejandro
riviera
What was misleading for me is I looked really hard in the whitewater solver, but not much in the whitewater _object_, which contained the velocity field attachment. DOPs can be “here be dragons” land for me sometimes…
imre

In the whitewater solver they sample the vel field as a force to then do the integration with the powerful geometry vop dop hiden node.
I'm very courious about this node in H13, because all pop's finally will have a force integrator written with dops toolbox(H12.5) or HDK, we will see.

I can't imagine it being much different than the existing Gas Integrator dop, you have plenty of options in that to begin with.
  • Quick Links