Jump to content

Simulating fine smoke


Elias

Recommended Posts

Hey guys,

I've been looking into simulating smoke for a few weeks now, both with the smoke solver and the pyro solver and one thing I can't seem to accomplish is thin, fine smoke. A burning cigarette would be the perfect example when the emitter is very small. How does one approach that?

On a second note, how would one go about to make an effect like this? More specifically, how do you manipulate the smoke to do the swirl at the end? Some coarse velocity fields I assume, but how to set those up?

Link to comment
Share on other sites

Great paper, so it seems like I'm on the right track then. Step one would be to simulate smoke to give the approximate movement. Step two would be to upres it, or advect particles and then simulate detail in specific areas, same thing but done differently.

But going back to the more simple cigarette smoke, how does one approach that?http://ak.picdn.net/shutterstock/videos/3005344/preview/stock-footage-incense-white-smoke-in-super-slow-motion-against-black-background.jpg

Edited by Elias
Link to comment
Share on other sites

In regards to fine detail smoke:

You will need millions of particles:

https://vimeo.com/12092711

And if you want to be more efficient and go with the advanced approach - you may need a mantra procedural like this one:

Overal your large scale motion comes from your sim, your small scale detail comes from the particles.

Here are some tips:

*) It is better to emit from a tiny cylinder, rather than from a single point. A single point has one location in space and it becomes tricky to define initial vectors.

*) You should emit from the surface of the emitter, not from the volume -- think about the cigarette as a hollow surface and it really is more the paper that burns on the edges. This way you already start with that hollow cylinder feeling as the smoke will rise.

*) The initial velocity/temperature is quite high, which is why you get that strong upwards straight funnel before it breaks apart and becomes more turbulent. -- I would consider cheating this a little bit by overriding the position of the particles over the first 5% of their lifespan. (you could record their birth position and blend that in x and z)

*) Clean as much data from your particles - you should only have Alpha, v - otherwise it will take up a lot of disk space. Use fast instancing with lots of particles (5 million particles will get you in the neighborhood). -- consider using a straight color render if you don't need shadows or light information - it is a lot faster. If you do need lighting information, consider converting some of your particles into and approximate volume and using that as a shadow object - or baking the lighting into the volume and looking it up in the shader of the particles -- you do not want to be calculating shadows on huge amounts of particles for each light... this can shave hours of your render. (This works with hair as well -- pixar used that on the incredibles: http://graphics.pixar.com/library/Hair/paper.pdf )

*) with vdb it might be possible to bake all your particles in a volume and get optimized rendertimes -- as well as be able to apply some of the volume filters - I have not tried this yet - so not sure how slow this is for millions of particles -- still consider that krakatoa and realflow actually convert their high amount of particles to a more optimal volume format and it might be worth doing that.

*) small pscale and high transparency is what you are looking for.

-- ) if you think about what that paper describes, it is the reseeding of the particles in the flip solver

*) swirl at the end is custom vector field - if you search on the forum you should find plenty of information on vortex fields (cross product for your vectors) - or look into using a metaball and the force sop.

-- I actually had to recently do something like a vortex of smoke getting sucked in a black hole and you do need a sink at the center or the smoke will not go away and because of the incompressibillity of the fluid calculation your velocity will not compress as much as you want.

good luck!

  • Like 2
Link to comment
Share on other sites

This is all very helpful, I've looked through a lot of videos and the volcano one seems to bring me pretty close. I might look into advecting particles to it later.Something that I've been thinking about for a while is the units of temperature and forces. I know that mass is in kilogrammes and it would make sense that forces would be newtons and velocities would be meters per second. But I can't figure out if there is a way to set the temperature of the source in degrees Kelvin. Is there?

Attached the hip, what I've done so far.

pyro_sim_v03.hip

Edited by Elias
Link to comment
Share on other sites

The first goal is to make a simple cigarette smoke sim where it becomes turbulent as it dissipates, I did however cheat it with a custom velocity field to control when it becomes turbulent.

The second goal, a more general and long term one, is to learn how to set up larger sim like the one in the clip.

What I found was that the fine smoke dissipated to quickly and that it was very sensitive to any external force. I'm thinking viscosity might help to keep the smoke pillar together a little, but I fear I'm drifting away from physical accuracy and towards unexpected solves.

Link to comment
Share on other sites

if you know what you want to achieve and if you've done it before, it is good to make with presets and then twikering.

In real life when someone wants to give form to something, start make a simple line of smoke, only disipation in shpe tab, so that the opacity of things more complicated not allow us to see clearly. then add noise...scale sims not in frame 1

Edited by shushu
Link to comment
Share on other sites

  • 2 weeks later...

if you know what you want to achieve and if you've done it before, it is good to make with presets and then twikering.

In real life when someone wants to give form to something, start make a simple line of smoke, only disipation in shpe tab, so that the opacity of things more complicated not allow us to see clearly. then add noise...scale sims not in frame 1

Well I havn't done much smoke sims before so I havn't yet made any presets :)

I havn't had to much time to look at this as of late, a trip to germany got in the way. But my question is I guess, if there is any nice explanations for the parameters and their ties to physical units. Ie, density, temperature (°C or maybe °K) and so on. I find myself sometimes changing parameters at random and not being totally sure of what it will do to the fluids.

Link to comment
Share on other sites

Well I havn't done much smoke sims before so I havn't yet made any presets :)

I havn't had to much time to look at this as of late, a trip to germany got in the way. But my question is I guess, if there is any nice explanations for the parameters and their ties to physical units. Ie, density, temperature (°C or maybe °K) and so on. I find myself sometimes changing parameters at random and not being totally sure of what it will do to the fluids.

I think the short answer is no. The real processes behind combustion or smoke is MUCH, MUCH MORE complicated than current solvers.

In smoke/pyro solver there is only one field that matters - velocity. All others are just "passengers" which may act as control fields or multipliers in pretty simple equations. For example temperature - it alters velocity through buoyancy force (as multiplier for UP force vs density as multiplier for DOWN force) or in combustion as some sort of mask and multiplier to find where to add new density (emulating smoke from fire) or divergence (emulating expansion).

So 1 of temperature leads to twice as big effect as .5 (if linear process). That's it. No physical properties, just masks and multipliers)

It doesn't mean you can't get nice real looking effect. You definitely can with current solvers.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...