.. TODO/Review: {{review}}. ************ Introduction ************ Smoke simulation is used to simulate the fluid movement of air and generate animated :term:`voxel` textures representing the density, heat, and velocity of other fluids or suspended particles (i.e. smoke) which can be used for rendering. .. figure:: /images/physics_smoke_type_domain_note-on-resolution.jpg Example of smoke simulation. Smoke and fire are emitted into a :doc:`Domain </physics/smoke/types/domain>` from a mesh object or particle system. Smoke movement is controlled by airflow inside the domain, which can be influenced by :doc:`smoke collision objects </physics/smoke/types/collisions>`. Smoke will also be affected by scene gravity and :doc:`force fields </physics/force_fields/index>`. Airflow inside the domain can affect other physics simulations via the smoke flow force field. Workflow ======== At least a :doc:`Domain Object </physics/smoke/types/domain>` object and one :doc:`Flow object </physics/smoke/types/flow_object>` are required to create a smoke simulation. A basic workflow looks like this: #. Create a :doc:`Domain Object </physics/smoke/types/domain>` that defines the bounds of the simulation volume. #. Define a :doc:`Flow object </physics/smoke/types/flow_object>` or objects which will emit smoke and fire. #. Set :doc:`Collision objects </physics/smoke/types/collisions>` to make the smoke interact with objects in the scene. #. Assign a :doc:`Volumetric material </physics/smoke/material>` to the domain object. #. Save the blend-file. #. :doc:`Bake </physics/smoke/baking>` the simulation. .. note:: There is a *Quick Smoke* operator which will automatically create a domain object with a basic smoke/fire material. It can be found in :menuselection:`3D View --> Object --> Quick Effects --> Quick Smoke`, or in the :kbd:`Spacebar` search box. .. note:: Blender's smoke simulation is based on the paper `Wavelet Turbulence for Fluid Simulation <https://www.cs.cornell.edu/~tedkim/wturb/>`__ and associated sample code.