Search - User list
Full Version: GAS Advect DOP
Root » Technical Discussion » GAS Advect DOP
morzh
May be my question is incorrect, but I'm curious what contribution has Gas Advect DOP in fluid simulation. E.g. Gas Project Non Divergent means that divergence of velocity field is zero (incompressibility). Using LaTeX markup:

\nabla \cdot \vec u =0

About advection in Euler framework. As i know, in Navier-Stokes equations term

\vec u \cdot \nabla \vec u

or convectional derivative is using for advection. So my question is what Gas Advect DOP doing in solving fluid equations ?
old_school
Gas Advect generally takes the vel.* Velocity fields and uses them to project other fields forward. Very much similar to moving points by adding the “v” velocity vector divided by the time step to the points.

If you take a look at the parameter interface for the Gas Advect DOP, it is pretty clear what it takes.

Field >>> Supply the fields by name to project forward by the velocity fields.

Geometry >>> Supply the geometry by name to project forward by the velocity fields.

Velocity >>> The velocity fields (must be a vector and usually called vel.x vel.y and vel.z) that are used to project the other fields and geometry forward through simple addition after a velocity value is calculated from the velocity fields based on the method you choose.

Collision >>> The signed distance field used as a collision volume used to nullify the velocity advection projection where the field is negative or “inside”. You don't want to project fields while inside a collision field because it doesn't make sense.

The Time Scale parameter is used to multiply the velocity fields prior to projecting the other fields forward. A value of 1 will use the velocity values divided by the timestep as is. A value of 0.1 will only use 10% of the velocity values divided by the timestep which has the visual effect of slowing the projected fields down through the simulation.


In the default Pyro solver and fuel, you have the choice of advecting the fuel or not and at what speed.
With a burning log, the fuel remains stationary so you wouldn't advect the fuel upward with the velocity.
With a gasoline fire, you do want to advect the fuel upward with the velocity as only gasoline vapours burn and not the liquid. Usually a rate of advection from 0.05 to 0.2 (5% to 20%) will carry the fuel upward at a decent rate to create a nice fireball. Too high an advection rate on the fuel will create an unrealistic runaway fireball.

Temperature is advected upward by the velocity fields. Usually at 100% but you can cut this back as well. Slow the temperature down.

Many other fields are advected at different rates through a pyro solver. Dive in to the solver and have a look.
Alejandro Echeverry
Hi!!

In terms of processing, why the gas project non divergent is hard to distribute across threads? Why is so hard to make it multithreaded?

Thanks.
old_school
My artist view of the Gas Project Non-Divergent is that it is like a special type of a blur. Corrective fields applied to the velocity fields to counteract any pressure fields positive or negative. I see it similar to an iterative convolution filter and that would be my very naive observation.

These sorts of processes have their challenges to thread across multiple procs and still have a simulation that looks and behaves realistically and for fluids to retain volume.

For Houdini 11, I believe this isn't a threaded operation.
bhaveshpandey
Thanks for the description Jeff!
I hope this is added to the Houdini help docs
morzh
Thank you for your answers. I guess Gas Project Non-Divergent is not a special type of blur, cause blur is a postprocess, and non divergence of the velocity field is one of the 4 Navier-Stokes equations.
But my question is still open. Is GAS Advect DOP an “implementation” of material derivative or not
Vladislav Tushevskiy
morzh
Is GAS Advect DOP an “implementation” of material derivative or not

Advection implies that material (lagrangian) derivative must be equal zero: Dq/Dt = 0.
It is mean that field in each of advected (moved) points safe value. Then GAS Sdvect DOP perform Dq/Dt = 0 condition.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB