Table of Contents
FlowEmitter
The FlowEmitter operator is a particle generator meant to be used for fluid simulations. However, it is flexible enough to serve as a all purpose particle generator as well.
FlowEmitter solves a key issue many SPH particle fluid simulations suffer from; visible banding or layering when particles are emitted at different or changing rates. Achieving a constant flow of particles while keeping the distance between each particle the same, even when the rate of particles generated drops, is a challenging task for the software.
As shown in the illustration above the flow rate or in other words the generation of particles per time does not match the current speed or time per particles generated. This mismatch will create those discs or bands of particles. Now, imagine you have an animated amount of particles or the size of the emitter surface changes; the flow of particles will break down and show artifacts.
All those necessary calculations are done by this emitter type automatically. It is the first time a fluid simulation system allows you to smoothly adjust the flow rate of a fluid without creating banding artifacts or other issues caused by an imbalance of particle density.
Operator Inputs
ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off'. You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.
Particle - (Particle) - This input data stream reads in the currently selected particle group to the FlowEmitter operator.
The remaining input parameters are identical to the UI controls. For more information about the use of an individual parameter check out the descriptions below.
Operator Outputs
BirthParticle - (Particle) This output data stream sends particle data for newly created particles to other operators. Every particle birth will activate all rules connected to this particle data stream. As a result , this can be used to directly assign a value to the particle.
FrameCounter - (Integer) This output data stream provides a “counter-like” function that holds the current number of created particles at the given frame. This counter is reset per frame and starts over again at 0. As a result, you can use this output data when you want to trigger other rules based on the creation of a certain number of particles.
Animation Counter - (Integer) This output data stream provides a “counter-like” function that holds the current number of created particles at the given point in the animation. This counter is NOT reset per frame and accumulates the total number of particles created over the course of the animation. As a result, you can use this output data when you want to trigger other rules based on the creation of a certain number of particles.
Rollout Menu
Group - lets you select the particle group to born the new particles into.
Shape - defines the emitter shape. It is either Circular or Square. NOTE: the emitter particle scale is used to define any scaling that might apply. By scaling the particle you can create rectangles or ellipses as emitters.
Type - sets the method to be used to control a constant flow and particle density. The options are RatePerArea or Raster.
RatePerArea - when selected, particles are randomly spread over the initial surface area.
Raster - use this option to create a even raster across the surface area of the emitter.
Globals Group of Controls
Size Factor - this value is multiplied with the particle size defines the actual size of the particle emitter (diameter). Speed - sets the particle speed at birth.
Motion Inheritance - sets a factor of how much a motion of the emitter should be added to the particle motion. A value of 1 represents an equal speed of emitter and born particles. Higher values will increase the particle motion inheritance speed.
Spread Angle - sets an angle for the particles that will be used to emit in relation to the emitter plane. This option allows you to create emitting cones.
Gate Values
The main idea of the FlowEmitter is to use it in conjunction with fluid simulations. Controlling the flow rate with changing particle sizes or amounts is a real challenge for the system. This emitter type will always keep the particle density constant to ensure a closed and even stream of particles. While you could animate the Size factor to simulate a water tap being shut off, another more elegant method would be using the X-Gate or Y-Gate option of this emitter. The Gates work exactly like a valve or a faucet. The opening of the emitter gets restricted by those parameters, either in X or Y direction
X-Gate Value - constricts the emitter flow in X-Axis. Animate this value to dial down the flow of particles while keeping its proper density.
Y-Gate Value - constricts the emitter flow in Y-Axis. Animate this value to dial down the flow of particles while keeping its proper density.
As shown in the illustration above the X-Gate value is blocking a 3rd of the emitter opening.
Rate Per Area
Rate per Second - sets the amount of particles born per second.
Rate Area - defines the ratio between the amount of particles by area. The specified value is the edge length of the emitter.
Raster
Raster Size - defines the maximum distance between each particle emitter. Warning! Â Be careful too low distances can easily create millions of emitters and particles.
Variation - defines a random variation on the position of the particle emitters. A value of 1 will place emitters in a completely random way.
Limit Count / Sub-sample  - restricts the maximum amount of particles created by this emitter within a sub-sample simulation step.
Show - check this option to enable the viewport visualization of the emitters and Gates.