Share

source_air

Specifies the parameters of a source that emits properties into the simulation grid.

Inputs

geometry

An array of input meshes, points and volumes that define the source geometry.

General

enable_air_source

Enables the source.

start_frame

The frame at which emission from the source starts.

use_end_frame

Can be enabled to stop the emission at a certain frame. Otherwise emission will continue for the duration of the simulation.

end_frame

The frame at which emission from the source stops.

resolution_mode

How the voxel size is determined for mesh emitters.

  • Absolute: The size of an emitter voxel is the fluid_detail_size value in world-space units.
  • Relative: The fluid_detail_size is taken to be proportionate to the largest dimension of the source axis-aligned bounding box. So, a cube that is 20 units in size will have a world-space voxel size that is 20 times larger than the specified fluid_detail_size value in Relative mode. For sources, the bounds of the source mesh at the start frame are used to determine the fluid_detail_size and geo_detail_size for the full animation, even if the source size is animated.

Geometry Volume Conversion

geo_volume_mode

Defines how an input mesh is voxelized.

  • Solid: This mode voxelizes a polygonal mesh as a solid and works best if the mesh is watertight.
  • Shell: This mode voxelizes a mesh as a thin shell and does not require the mesh to be watertight.

use_fluid_detail_size

Uses fluid_detail_size to voxelize the sources instead of geo_detail_size.

geo_detail_size

The size of the smallest resolvable detail in the voxelized emitters. When emitting from highly detailed meshes, you can sometimes improve performance without sacrificing visible detail in the simulation by setting this value higher than the fluid_detail_size.

geo_volume_offset

The amount to offset the voxelized volume when emitting from meshes or points. Positive values expand the volume and negative values shrink it.

min_hole_radius

Fills gaps and holes that have a smaller radius than this value, when emitting from meshes using Solid mode.

optimal_adaptivity

Uses coarser voxels in planar and smooth areas. This can increase performance by reducing the number of voxels.

display_diagnostic

Whether to display the sources.

Air Properties

fluid_detail_size

The size of the smallest resolvable detail in the smoke or other property emitted from this source. In the presence of multiple sources with arbitrary fluid_detail_size, the fluid_detail_size of a particular source may not be exact. More specifically, the finest resolution level in the simulation will be determined from the finest fluid_detail_size of all the input sources. For the remaining sources, the source's resolution level maps to the closest discrete level in the adaptive grid structure. This means that small differences in fluid_detail_size may not produce any visible changes.

fog_density

The visual density of the smoke emitted into the voxel_fog_density property using the mode specified by fog_density_mode.

  • Connect a float to use a constant value.
  • Connect a scalar field to vary values based on position.
  • Connect a string with the name of a property on the source geometry to use the value of that property at the emission location.
  • Connect an array whose size matches the number of points or voxels in the geometry as an alternative to using a pre-existing property.

fog_density_mode

How fog_density is emitted into voxels.

  • set: Sets a source into a property (note that if edges are hard in the input, this will also be the case in the output).
  • rate: Blends and adds a source as a time-dependent rate into a property.
  • add: Blends and adds a source into a property.
  • subtract: Blends and subtracts a source into a property.
  • over: Blends a source into a property.
  • min: Blends based on the minimum of the source and the property.
  • max: Blends based on the maximum of the source and the property.
  • multiply: Blends based on the product of the source and the property.

temperature

The temperature in Celsius of the smoke emitted into the voxel_fog_temperature property.

  • Connect a float to use a constant value.
  • Connect a scalar field to vary values based on position.
  • Connect a string with the name of a property on the source geometry to use the value of that property at the emission location.
  • Connect an array whose size matches the number of points or voxels in the geometry as an alternative to using a pre-existing property.

temperature_mode

How fog_density is emitted into voxels. The options are the same as for fog_density_mode. When working with combustion, it is recommended to use the set temperature_mode, as otherwise the temperature can grow to physically unrealistic temperatures very quickly.

initial_speed

The initial speed (velocity magnitude) of properties emitted.

  • Connect a float to use a constant value.
  • Connect a scalar field to vary values based on position.
  • Connect a string with the name of a property on the source geometry to use the value of that property at the emission location.
  • Connect an array whose size matches the number of points or voxels in the geometry as an alternative to using a pre-existing property.

initial_speed_direction

The initial velocity-direction of properties emitted.

  • Connect a float3 to use a constant value.
  • Connect a scalar field to vary values based on position.
  • Connect a string with the name of a property on the source geometry to use the value of that property at the emission location.
  • Connect an array whose size matches the number of points or voxels in the geometry as an alternative to using a pre-existing property.

speed_mode

How initial_speed, initial_speed_direction and inherit_velocity is emitted into voxels. The options are the same as for fog_density_mode.

inherit_velocity

The proportion of the source geometry's velocity added to the velocity of properties emitted by the source.

  • Connect a float to use a constant value.
  • Connect a scalar field to vary values based on position.
  • Connect a string with the name of a property on the source geometry to use the value of that property at the emission location.
  • Connect an array whose size matches the number of points or voxels in the geometry as an alternative to using a pre-existing property.

When using a vary_source_property node to randomize inherit_velocity, the value of inherit_velocity must be set to the smallest number used in the randomization to get a smooth trail in the presence of negative inherit_velocity values.

trail_smoothness

The smoothness of smoke emitted in the presence of large source velocities. If the emitted trail of smoke has too much noise or obvious holes, trail_smoothness can be increased in increments of one to reduce such artifacts.

On the iterate compound inside source_air there are some additional controls that can come in handy to ensure smooth emission in the presence of large velocities and/or large negative or positive inherit_velocity values:

  • source_time_shift shifts the emission forward or backward in time by the specified proportion of a time step. This can be used to prevent the emission from appearing ahead of or behind a fast-moving emitter when using large positive or negative values of inherit_velocity. The value can be varied continuously. A value of 0 emits over the range traveled in the current time step, a value of -1 emits over the range traveled in the previous time step, and a value of 1 emits over the range traveled in the next step.
  • source_time_stretch is a factor for stretching the region of space traveled by the source and emitted into, if the smoke has gaps or lags behind an emitter with large negative inherit_velocity.
  • You can use scale on the compute_time_shift_and_stretch sub-node to adjust source_time_shift and source_time_stretch together. A scale value of 1 is good for things like straight rocket trails, but values closer to 0 prevent streaks along paths with high curvature. You can animate this over time to adjust for changes in curvature.

Additional Properties

additional_properties

Connect set_property nodes, as well as source_fuel nodes, to define and initialize additional voxel properties that are transported along the flow. These properties can be modified during the simulation by using influences.

Outputs

air_source

The output is an object that contains an aggregation of source related inputs to the aero solver and should be connected to the sources port on a simulate_aero node or to the air_source port on a source_fuel node.

Was this information helpful?