8/10/2019 Naiad_doc
1/183
8/10/2019 Naiad_doc
2/183
Index:
1- Body Ops: 01- Dynamics 02- Origin 03- Primitive 04- Mesh 0- !hanne" 0#- Body
0$- !onvert 0%- &o"'me 10- (et 11- )ie"d 12- (ermina" 13- *e" 14- +mit
1- ,i'id 1#- Partic"es 1$- .ser 1%- Point 1/- igid
1- Body cope: 20- Body cope
8/10/2019 Naiad_doc
3/183
2- )ie"d Ops:
21- Math 22- Processing 23- Primitive 24- Distance 2- !hanne" 2#- *e" 2$- Partic"e
2- )ie"d cope: 2%- cope
8/10/2019 Naiad_doc
4/183
01- Body Ops Dynamic
AccelerationOverview
Adds a constant or spatially varying acceleration to the Field/velocity, Particle/velocity orPoint/velocity channels of all admitted odies! "he channel chosen for #pdating is determinedin the order listed$ e!g! Field/velocity ta%es precedence over Particle/velocity, and so on!
A constant acceleration defined y the &Acceleration& parameter is added if no accelerationfield is connected to field-input! 'f an acceleration field is connected, on the other hand, a per-cell, per-particle or per-point acceleration is comp#ted from the field, for the Field/velocity,
Particle/velocity or Point/velocity channels, respectively!
(hy )o# *ay +are Ao#t "his Op
"his is how yo# add acceleration d#e to gravity to yo#r fl#id, for one thing!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
Dynamics ParametersAcceleration
The constant force to add. The default value represents the force of gravity in a simulation where
1 worldspace unit equals 1 meter. NOTE that this parameter is ignored if an external acceleration
field is defined by connectingfield-input.
Inputs
body-input
ll dynamic bodies are admitted through this input.
field-inputIf connected! is used as an external acceleration field.
Outputs
body-output
ll bodies encountered in body-inputare passed down through this output! regardless if they were
admitted or not.
8/10/2019 Naiad_doc
5/183
Bo#ndary-ffect
Overview
'ncreases the effect a solid has on fl#ids aro#nd it, modeling a .o#ndary layer. aro#nd theoect! *a%e s#re to apply this earlier than gravity!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
Dynamics Parameters
Viscosity
"pecifies the #inemetic viscosity of the fluid that we are attemping to model here$ the greater the
value! the greater the effect. It should have units of metres squared per second.
Inputs
body-input
ll dynamic bodies matching the %ield signature are admitted through this input.
solid-input
The solid body defining the &boundary layer& is admitted through here. NOTE that this input will
soon become a %ieldOp input in the same spirit as many other recent changes' however for the
moment we stic# with the &old style& volume(body input.
Outputs
body-output
ll bodies encountered in body-inputare passed down through this output! regardless if they wereadmitted or not.
8/10/2019 Naiad_doc
6/183
Bo#ndary-ayer
Overview
Adds a friction-li%e effect to the Field/velocity channel of all admitted odies in a certainregion of space!
(hy )o# *ay +are Ao#t "his Op
"his is a nonphysical way of forcing fl#ids to e effected more y neary solids, for eampleletting a moving solid drag more fl#id along with it, even if the fl#id has no viscosity!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
"he region where the effect is applied is notlin%ed to any interactions created y the 'nteractBodyOp - instead, the region is entirely defined y the distance-field defined y the FieldOpgraph connected to the distance-fieldinp#t!
"his is not 2yet3 a physically correct operation, #t rather a simple tool to get non-dynamicgeometry to infl#ence fl#ids in a .stic%ier. way!
'f yo# also have gravity in the graph, this operator sho#ld come efore 2aove3 theacceleration operator!
Dynamics Parameters
Strength
)ow strong the blending is! in units of *blend fraction+ per second
Bandwidth
The width *in worldspace units+ of the band around the distance(field,s &surface& wherein the
effect is applied. The &surface& is defined wherever the distance(field is -ero.
Inputs
body-inputThe fluid bodies are fed through the body-input! and are required to match the %ield bodysignature in order to be admitted and evolved by this Op.
velocity-field
elocity field *probably from a solid+ that will be blended into the fluid
distance-field
/istance field used to define the region of effect
mask-field
Optional mas# input for modulating the strength
8/10/2019 Naiad_doc
7/183
Outputs
body-output
dmitted or not! all bodies encountered in body-inputwill be passed down through the body-
output.
B#oyancy
Overview
Adds a #oyant acceleration to the Field/velocity channel of all admitted odies!
otesOnly odies with a Dynamic *otion-"ype are evolved y this Op!
4ettings Parameters
Buoyancy Channel
Name of a %ield(0hannel to scale the acceleration amount
Buoyancy Vector
The world(space direction of the buoyancy acceleration
Inputsbody-input
ll bodies matching the %ield signature will be admitted through this input.
Outputs
body-output
ll bodies encountered in body-inputare passed down through this output! regardless if they were
admitted or not.
8/10/2019 Naiad_doc
8/183
+om#st
Overview
Performs vol#metric com#stion calc#lations within all admitted odies!
(hy )o# *ay +are Ao#t "his Op
5sing this Op is the difference etween having #st a smo%e-ody vs! a fire-ody!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
+om#stion +riteria Parameters
Ignition Temperature
The minimal values of %ieldtemperature cells required to igniting the combustion process.
Burn ate
)ow much of the %ieldfuel channel is consumed per sec in the cells where combustion is ta#ing
place.
!eat
The amout of heat added to %ieldtemperature per second in the cells where combustion is ta#ing
place.
"#pansion
The amount added to %ieldexpansion(rate per second in the cells where combustion is ta#ing
place.adianceThe amount added to %ieldlight per second in the cells where combustion is ta#ing place.
Inputs
body-input
ll dynamic bodies matching the %ield signature are admitted through this input.
Outputs
body-output
ll bodies encountered in body-inputare passed down through this output! regardless if they were
admitted or not.
8/10/2019 Naiad_doc
9/183
Drag
Overview
Adds a constant drag acceleration to the Particle/velocity channel on all admitted odies!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
Dynamics Parameters
$rag
The drag coefficient. The greater the coefficient is! the more drag is applied.
Inputs
body-input
ll dynamic bodies matching the 2article signature are admitted through this input.
Outputs
body-output
ll bodies encountered in body-inputare passed down through this output! regardless if they were
admitted or not.
Dynamics
Overview
6esolves internal and eternal forces, collisions, and constraints, res#lting in new velocitiesfor each admitted ody!
(hy )o# *ay +are Ao#t "his Op(itho#t this op, no fl#id, rigid-ody, or soft-ody dynamics wo#ld e possile7
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
8/10/2019 Naiad_doc
10/183
8/10/2019 Naiad_doc
11/183
FieldOp graph connected to the distance-fieldinp#t!
Dynamics Parameters
'riction
The coefficient of friction. )igher values mean more frictionBandwidth
The width *in worldspace units+ of the band around the distance(field,s &surface& wherein friction
is applied. The &surface& is defined wherever the distance(field is -ero.
Inputs
body-input
The fluid bodies are fed through the body-input! and are required to match the %ield bodysignature in order to be admitted and evolved by this Op.
distance-field
/istance field used to define the region of frictionmask-field
Optional mas# input for modulating the friction
Outputs
body-output
dmitted or not! all bodies encountered in body-inputwill be passed down through the body-
output.
'nteract
Overview
"his BodyOp ca#ses all odies admitted thro#gh .ody-inp#t-a. to dynamically interact withthe odies admitted thro#gh .ody-inp#t-.! 'nteract, in this contet, means collide with orotherwise physically affect and e affected y!
O"8 "his BodyOp will ecome osolete as the Dynamics Op will handle all dynamic inter-ody interaction$ however when this happens 'nteract will get a#tomatically remapped to 9oinand yo#r graphs will th#s %eep wor%ing with no change re:#ired from yo#!
'np#ts
body-input-a
Bodies interacting with body-input-b&s odies enter thro#gh here
8/10/2019 Naiad_doc
12/183
body-input-bBodies interacting with body-input-b&s odies enter thro#gh here
O#tp#ts
body-output
All odies enco#ntered in body-input-aand body-input-bare passed down thro#gh thiso#tp#t!
Particle-"ransport
Overview
"ransport the Particle-+hannel indicated y the &Position +hannel& parameter along anaritrary direction 2vector3 field!
(hy )o# *ay +are Ao#t "his Op
(ell, yo# proaly don&t care, if all yo# want to do is perform particle-ased transport2advection3, along the ody&s Field/velocity channel 2or Particle/velocity channel3, since this isdone a#tomatically at the start of each time-step, efore the graph evolves any odies!
;owever, there are times when the a#tomatic transport is not eno#gh 2or not what yo# want3!"his Op is designed to let yo# eplicitly set #p yo#r own particle transport stage, or addanother one 2or several3 at some #ser- chosen point2s3 d#ring the time-step!
"ransport 4ettings Parameters
%osition Channel
The name of the 2article(0hannel you intend to transport. This is normally the 2articleposition
channel! if you actually want to transport particle positions. *)owever! anyvector(valued 2article(
0hannel is allowed! which means you could use this Op to alter per(particle 637 color or similarby phrasing the color update problem in terms of physical transport+. The channel must already be
present in the 2article("hape of course.
$irection Channel
/efines the vector(field through which the particles will travel. *The default value being thebody,s own velocity(field+. )owever! if a %ieldOp graph is connected to the direction-fieldinput!
the vector(field defined by that graph overrides the field in this %ield(0hannel.
(ormali)e
Normali-e the vectors found in the direction field *or ,/irection 0hannel,+ before transporting the
particles through it.
Inputs
8/10/2019 Naiad_doc
13/183
body-input
ll bodies matching the 2article signature will be admitted through this input.
direction-field
0onnecting a %ieldOp graph to this input will override the direction( field specified as a %ield(
0hannel in the ,/irection 0hannel, parameter.
displacement-field
The distance along the direction field which the particles are transported *the &displacement&+ isscaled by dt *the length of the current time(step! in seconds+ as long as no displacement-fieldis
connected.
Outputs
body-output
dmitted or not! all bodies encountered in body-inputwill be passed down through the body-
output.
6igid-*esh-Assign
Overview
Assigns a mesh to all admitted rigid odies!
4tepping Parameters
"nabledNo description available.
Inputs
body-input
The 6igid 7odies which may be admitted
mesh-input
The 5esh body which defines the 6igid 7ody,s mes
Outputs
body-output
The resulting bodies are passed down through this output
8/10/2019 Naiad_doc
14/183
4wirl
Overview
Boosts eisting vorticity within the Field/velocity channel of all admitted odies!
(hy )o# *ay +are Ao#t "his Op
4ay yo# have a smo%e, fire 2or even li:#id3 sim#lation which has everything the directorwants ecept it lac%s the swirl and eddies only stronger vortices in yo#r flow can create! "hisOp will oost all the regions of the fl#id flow that have vortices, giving yo# more of this type ofloo%!
otes
Only odies with a Dynamic *otion-"ype are evolved y this Op!
4ettings Parameters
Strength
The strength of the vorticity boosting. )igher values mean stronger vortices will form. Too highvalues may start brea#ing up your fluid ( if this happens! increase the ,5ax Timesteps, global
parameter.
Inputs
body-inputThe fluid bodies are fed through the body-input! and are required to match the %ield body
signature in order to be admitted and evolved by this Op.
mask-field
The %ieldOp graph optionally connected to this input is sampled at every %ieldvelocity cell!
where the sampled value is used to scale the ,"trength, parameter.
Outputs
body-output
dmitted or not! all bodies encountered in body-inputwill be passed down through the body-
output.
8/10/2019 Naiad_doc
15/183
02- Body Ops Origin
Body
Overview
A Body signature describes a blank body with no pre-defined shapes or channels. It containsonly the most basic properties !otion-"ype and a tile layout. #ot very useful as-is$ buttypically blank bodies are used to add arbitrary shapes % channels to for storage$ or otherspecial &channel processing& in the time-step graph.
'hannels"here are no pre-defined channels in this signature.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it must
survive from one time-step to the next, and thus the body isn't terminated until the end of the
entire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolvingbodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,
nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fully
dynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-
called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they arealways )stolen) from other bodies.
ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, nor
how it evolves. "his !otion-"ype is designed for people doing heavy experimentation orimplementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of everytime-step.
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does notrepresent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
8/10/2019 Naiad_doc
16/183
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster/ell *i0e).
Tile Size"he number of cells along each dimension of each tile in the volume
1utputs
body-output
#o description available.
'ameraOverview
A 'amera signature describes a )* camera body.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. "his signature is a non-evolving
signature, and so the only accepted !otion-"ype is nsolved, which means there is no state to
evolve and thus, nothing survives from one time-step to the next.
"ransform arameters
Translate
Body-to-worldspace translation
Rotate
Body-to-worldspace rotation
Scale
Body-to-worldspace scale
2iew 3rustum arameters
Near Clip
#o description available.
Far Clip
#o description available.
Aspect Ratio
#o description available.
Angle Of View
8/10/2019 Naiad_doc
17/183
#o description available.
1utputs
body-output
#o description available.
+mp-,ead
Overview
,eads bodies from an +!( file.
!esh bodies read by this op are automatically interpolated in space to the precise current
solver time$ even if no substep +!(s are available though they will help the precision of theinterpolation. (er-verte/ velocities will also be automatically created and stored in the(ointvelocity channel if they do not already e/ist in the imported mesh. #O"+ that the meshinterpolation and automatic velocity calculation will fail if the mesh changes topology.
Body (arameters
ody Na!es
%xpects a white-space separated list of body names which, if encountered in the %! file, will be
read and loaded by this op. "he default argument of 4 is a wildcard representing all bodies stored
in the %!. 5ou can right-clic+ on this parameter to get a context-menu of available body names.
/ache arameters
"M# Cac$e
"he name of the %! file to read bodies from
Fra!e #adding
"he number of 0eroes to padding the frame number by, when expanding to the absolute %!
filename.
Fra!e Offset
1ffset the frame to read by this parameter
Repeat "nd Fra!eIf the frame being read is past the end of the %! se6uence, reads the last available %! instead
of reporting an error.
7orld "ransform arameters
Transfor! #oint%position
"his parameter is not yet enabled
&se 'ocal #oint%(elocity
8/10/2019 Naiad_doc
18/183
"his parameter is not yet enabled
!esh Body *ettings arameters
&nit Con(ersion
8escales the imported mesh to meter scale units &if re6uired
Cell Scalemount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does notrepresent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter
)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e bychanging this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
1utputs
body-output
ll bodies loaded from the %! will be passed downstream through this output.
+mp-,ead-Isolated
Overview
,eads a single body from an +!( file.
A mesh body read by this op is automatically interpolated in space to the precise currentsolver time$ even if no substep +!(s are available though they will help the precision of theinterpolation. (er-verte/ velocities will also be automatically created and stored in the(ointvelocity channel if they do not already e/ist in the imported mesh. #O"+ that the meshinterpolation and automatic velocity calculation will fail if the mesh changes topology.
Body (arametersody Na!e
"his parameter is used to specify the name of the body to load from the %! file. 5ou can right-clic+ on this parameter to get a context-menu of available body-names.
/ache arameters
"M# Cac$e
8/10/2019 Naiad_doc
19/183
"he name of the %! file to read bodies from
Fra!e #adding
"he number of 0eroes to padding the frame number by, when expanding to the absolute %!
filename.
Fra!e Offset
1ffset the frame to read by this parameter
Repeat "nd Fra!eIf the frame being read is past the end of the %! se6uence, reads the last available %! insteadof reporting an error.
7orld "ransform arameters
Transfor! #oint%position
"his parameter is not yet enabled
&se 'ocal #oint%(elocity
"his parameter is not yet enabled
!esh Body *ettings arameters&nit Con(ersion
8escales the imported mesh to meter scale units &if re6uired
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
1utputs
body-output
"he single body loaded from the %! will be passed down through this output.
8/10/2019 Naiad_doc
20/183
1ield
Overview
A 1ield signature describes a generic field body.
'hannels
"here are no standard channels defined for field bodies. "he only defined thing is theguarantee that there is in fact a 1ield-hape.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. "his signature is a non-evolving
signature, and so the only accepted !otion-"ype is nsolved, which means there is no state toevolve and thus, nothing survives from one time-step to the next.
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter
)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the wholesimulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have tofind every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
1utputs
body-output
#o description available.
8/10/2019 Naiad_doc
21/183
1ield-1ire
Overview
A 1ield-1ire signature uses only fields to describe a fire body with no free-surface unlikeli3uids which do have a surface. 1ield-1ire bodies are typically fed through a 'ombustBodyOp at some point in the time-step graph. "he 'ombust BodyOp is responsible forcalculting the volumetric combustion necessary for setting the light and e/pansion-rate 1ield-'hannels as described below
'hannels
"he following standard channels are always present in 1ield-4as bodies
Vector1ieldvelocity "he worldspace velocity field of the fluid$ sub5ect to the constraintsimposed by the time-step graph evolving the body for e/ample$ boundary conditions and
incompressibility. Float1ieldtemperature A fire temperature field$ where each cell represents the temperature
of the fluid at that spatial location$ given in 6elvin.
Float1ieldfuel A fire fluid field$ where each cell represents the amount of fuel at that spatiallocation.
Float1ieldlight A fire light field$ where each cell represents the amount of radiance emittedfrom that spatial location. "he radiance is typically created by the 'ombust BodyOp.
Float1ielde/pansion-rate A fire e/pansion field$ where each cell represents the amount ofhot-air e/pansion happening at from that spatial location. "he e/pansion-rate is typicallymodified by the 'ombust BodyOp.
Float1ieldsolid-distance A worldspace signed distance field$ representing the surface andinterior of any collisionsolid ob5ects.
Vector1ieldsolid-velocity "he worldspace velocity field of any collisionsolid ob5ects.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it mustsurvive from one time-step to the next, and thus the body isn't terminated until the end of the
entire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolving
bodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fully
dynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they are
always )stolen) from other bodies.
ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, nor
8/10/2019 Naiad_doc
22/183
how it evolves. "his !otion-"ype is designed for people doing heavy experimentation orimplementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of every
time-step.
"ile ayout arametersCell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does notrepresent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter
)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the wholesimulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
"ransport arameters
Transport #recision
"he accurary of the particle transport &advection. "his property ranges from 9 to :, where 9results in very low precision and : is very high precision. "he higher the precision, the more
substeps the solver will typically re6uire during transport, resulting in a slightly slower &but more
accurate solve. In general, more precision is usually desired when dealing with fast-movingbodies. *ymptoms that can be alleviated by increasing this property include volume loss, particle
bunching, and spurious lea+ing through collision surfaces.
Ma) Transport Substepsimits the number of substeps the transport solver is allowed to ta+e, regardless of how many the
'"ransport recision' property as+s for. !a+ing this value too low may defeat the purpose of the
'"ransport recision' property.
Dynamics arameters
*nteraction Set
whitespace seperated list of body names that this body will interact;collide against, if
encountered in the Dynamics op. "he asteris+ &4 symbol is a wildcard representing all bodies.
Ti!e Scale
"his parameter is a non-physically-correct )retimer) which changes the flow of time in thetransport solver. 2alues < : results in a global speedup of the fluid flow, without introducing any
new velocities or accelerations into the simulation. 2alues less than : similarly result in a global
slowdown of the fluid flow. se this property with care, as it may does introduce unwanted side-effects, especially at high settings.
Fluid +ensity
"he physical density of the fluid, given in units of mass per volume &in *I units$ +g;m=>. #1"%that this global value is overriden by the standard scalar channel 3ield;density &if it exists.
8/10/2019 Naiad_doc
23/183
*ome standard density values &in *I units$
ir$ :
7ater$ :999
Viscosity
"he dynamic viscosity of the fluid, given in units of mass per time per length &in *I units$ +g;&s4m. #1"% that this global value is overriden by the standard scalar channel 3ield;viscosity &if
it exists.
"he fully accurate viscosity in #aiad is cool, but may slow down your simulations significantly, if
you're using the default settings in the Dynamics 1p. If you notice a ma?or slowdown, please
lower the 'recision' parameter on the Dynamics 1p as low as possible while still yielding thedesired viscous fluid behavior.
*ome standard viscosity values &in *I units$
!il+$ 9.>
@oney$ A-:9
!otor 1il$ :-C9
!olten /hocolate$ -:>9
eanut Butter$ A9
1utputs
body-output
#o description available.
8/10/2019 Naiad_doc
24/183
1ield-4as
Overview
A 1ield-4as signature uses only fields to describe a gaseous body. 4aseous bodies are fluidbodies with no free-surface unlike li3uids which do have a surface.
1ield-4as bodies are typically used when simulating gases where 1ield-moke or 1ield-1ireare too specific or overkill for your needs. 7ou can think of 1ield-4as as the starting point fora &build it yourself& gas body$ since all it defines are the most basic channels needed for anygas 5ust velocity % solid collision channels.
'hannels
"he following standard channels are always present in 1ield-4as bodies
Vector1ieldvelocity "he worldspace velocity field of the fluid$ sub5ect to the constraintsimposed by the time-step graph evolving the body for e/ample$ boundary conditions andincompressibility.
Float1ieldsolid-distance A worldspace signed distance field$ representing the surface andinterior of any collisionsolid ob5ects.
Vector1ieldsolid-velocity "he worldspace velocity field of any collisionsolid ob5ects.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it must
survive from one time-step to the next, and thus the body isn't terminated until the end of the
entire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolvingbodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,
nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fully
dynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-
called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they are
always )stolen) from other bodies. ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, nor
how it evolves. "his !otion-"ype is designed for people doing heavy experimentation orimplementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of every
time-step.
8/10/2019 Naiad_doc
25/183
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does notrepresent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the wholesimulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
"ransport arameters
Transport #recision
"he accurary of the particle transport &advection. "his property ranges from 9 to :, where 9results in very low precision and : is very high precision. "he higher the precision, the more
substeps the solver will typically re6uire during transport, resulting in a slightly slower &but more
accurate solve. In general, more precision is usually desired when dealing with fast-movingbodies. *ymptoms that can be alleviated by increasing this property include volume loss, particle
bunching, and spurious lea+ing through collision surfaces.
Ma) Transport Substeps
imits the number of substeps the transport solver is allowed to ta+e, regardless of how many the
'"ransport recision' property as+s for. !a+ing this value too low may defeat the purpose of the
'"ransport recision' property.
Dynamics arameters
*nteraction Set
whitespace seperated list of body names that this body will interact;collide against, if
encountered in the Dynamics op. "he asteris+ &4 symbol is a wildcard representing all bodies.
Ti!e Scale
"his parameter is a non-physically-correct )retimer) which changes the flow of time in thetransport solver. 2alues < : results in a global speedup of the fluid flow, without introducing any
new velocities or accelerations into the simulation. 2alues less than : similarly result in a global
slowdown of the fluid flow. se this property with care, as it may does introduce unwanted side-effects, especially at high settings.
Fluid +ensity"he physical density of the fluid, given in units of mass per volume &in *I units$ +g;m=>. #1"%that this global value is overriden by the standard scalar channel 3ield;density &if it exists.
*ome standard density values &in *I units$
ir$ :
7ater$ :999
8/10/2019 Naiad_doc
26/183
Viscosity
"he dynamic viscosity of the fluid, given in units of mass per time per length &in *I units$ +g;
&s4m. #1"% that this global value is overriden by the standard scalar channel 3ield;viscosity &if
it exists.
"he fully accurate viscosity in #aiad is cool, but may slow down your simulations significantly, if
you're using the default settings in the Dynamics 1p. If you notice a ma?or slowdown, please
lower the 'recision' parameter on the Dynamics 1p as low as possible while still yielding thedesired viscous fluid behavior.
*ome standard viscosity values &in *I units$
!il+$ 9.>
@oney$ A-:9
!otor 1il$ :-C9
!olten /hocolate$ -:>9
eanut Butter$ A9
1utputs
body-output
#o description available.
1ield-moke
Overview
A 1ield-moke signature uses only fields to describe a smoke body with no free-surfaceunlike li3uids which do have a surface.
'hannels
"he following standard channels are always present in 1ield-4as bodies
Vector1ieldvelocity "he worldspace velocity field of the fluid$ sub5ect to the constraints
imposed by the time-step graph evolving the body for e/ample$ boundary conditions andincompressibility.
Float1ieldtemperature A smoke temperature field$ where each cell represents thetemperature of the fluid at that spatial location$ given in 6elvin.
Float1ieldsmoke A smoke density field$ where each cell represents the density of smoke atthat spatial location.
Float1ieldsolid-distance A worldspace signed distance field$ representing the surface andinterior of any collisionsolid ob5ects.
Vector1ieldsolid-velocity "he worldspace velocity field of any collisionsolid ob5ects.
8/10/2019 Naiad_doc
27/183
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it mustsurvive from one time-step to the next, and thus the body isn't terminated until the end of the
entire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolvingbodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fully
dynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they are
always )stolen) from other bodies.
ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, nor
how it evolves. "his !otion-"ype is designed for people doing heavy experimentation or
implementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of every
time-step.
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e bychanging this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
"ransport arameters
Transport #recision"he accurary of the particle transport &advection. "his property ranges from 9 to :, where 9
results in very low precision and : is very high precision. "he higher the precision, the moresubsteps the solver will typically re6uire during transport, resulting in a slightly slower &but more
accurate solve. In general, more precision is usually desired when dealing with fast-moving
bodies. *ymptoms that can be alleviated by increasing this property include volume loss, particlebunching, and spurious lea+ing through collision surfaces.
Ma) Transport Substeps
imits the number of substeps the transport solver is allowed to ta+e, regardless of how many the
8/10/2019 Naiad_doc
28/183
'"ransport recision' property as+s for. !a+ing this value too low may defeat the purpose of the'"ransport recision' property.
Dynamics arameters
*nteraction Set
whitespace seperated list of body names that this body will interact;collide against, ifencountered in the Dynamics op. "he asteris+ &4 symbol is a wildcard representing all bodies.
Ti!e Scale
"his parameter is a non-physically-correct )retimer) which changes the flow of time in the
transport solver. 2alues < : results in a global speedup of the fluid flow, without introducing any
new velocities or accelerations into the simulation. 2alues less than : similarly result in a globalslowdown of the fluid flow. se this property with care, as it may does introduce unwanted side-
effects, especially at high settings.
Fluid +ensity
"he physical density of the fluid, given in units of mass per volume &in *I units$ +g;m=>. #1"%
that this global value is overriden by the standard scalar channel 3ield;density &if it exists.
*ome standard density values &in *I units$
ir$ :
7ater$ :999
Viscosity
"he dynamic viscosity of the fluid, given in units of mass per time per length &in *I units$ +g;&s4m. #1"% that this global value is overriden by the standard scalar channel 3ield;viscosity &if
it exists.
"he fully accurate viscosity in #aiad is cool, but may slow down your simulations significantly, if
you're using the default settings in the Dynamics 1p. If you notice a ma?or slowdown, pleaselower the 'recision' parameter on the Dynamics 1p as low as possible while still yielding thedesired viscous fluid behavior.
*ome standard viscosity values &in *I units$
!il+$ 9.>
@oney$ A-:9
!otor 1il$ :-C9
!olten /hocolate$ -:>9
eanut Butter$ A9
1utputs
body-output
#o description available.
8/10/2019 Naiad_doc
29/183
8air
#o description available.
!otion "ype (arameters
Motion Type
#o description available.
"ile ayout arameters
Cell Scale
#o description available.
Tile Size
#o description available.
1utputs
body-output
#o description available.
!esh
Overview
A !esh signature describes a triangle-mesh body.
'hannels
"he following standard channels are always present in !esh bodies
Vector(ointposition "he worldspace position of each mesh point verte/.
Integer Vector"riangleinde/ "he per-triangle verte/ connectivity.
!otion "ype (arametersMotion Type
Defines if and how the body's state is evolved over time. "his signature is a non-evolving
signature, and so the only accepted !otion-"ype is nsolved, which means there is no state to
evolve and thus, nothing survives from one time-step to the next.
"ile ayout arameters
8/10/2019 Naiad_doc
30/183
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter
)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the wholesimulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have tofind every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
1utputs
body-output
#o description available.
(article
Overview
A (article signature describes a generic particle body or 9particle system9 body.
'hannels
"he following standard channels are always present in (article bodies
Vector(articleposition "he worldspace position of each particle.
Vector(articlevelocity "he worldspace velocity of each particle.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it must
survive from one time-step to the next, and thus the body isn't terminated until the end of theentire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolving
bodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,
nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fullydynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they are
always )stolen) from other bodies.
8/10/2019 Naiad_doc
31/183
ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, norhow it evolves. "his !otion-"ype is designed for people doing heavy experimentation or
implementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of everytime-step.
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter
)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the wholesimulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
"ransport arameters
Transport #recision
"he accurary of the particle transport &advection. "his property ranges from 9 to :, where 9
results in very low precision and : is very high precision. "he higher the precision, the more
substeps the solver will typically re6uire during transport, resulting in a slightly slower &but moreaccurate solve. In general, more precision is usually desired when dealing with fast-moving
bodies. *ymptoms that can be alleviated by increasing this property include volume loss, particle
bunching, and spurious lea+ing through collision surfaces.Ma) Transport Substeps
imits the number of substeps the transport solver is allowed to ta+e, regardless of how many the
'"ransport recision' property as+s for. !a+ing this value too low may defeat the purpose of the
'"ransport recision' property.
*upersampling arameters
#article Supersa!pling
"he particle density throughout the body, given as a one-dimensional unit. "o get the particle
count per cell in the body's tile-layout, ta+e the cube of this property. 3or example,
supersamplingEA results in F particles per cell &A=>EF.Surface Supersa!pling
"he particle density at the surfaceof the body, where the surface is defined by a distance field &if
one exists -- for example, the article-i6uid body uses the standard 3ield;fluid-distance channelto define the surface of the body. "he common use for this property is to allow a more dense
particle distribution at the surface layer of the body. *ame units as the 'article *upersampling'
property &see above.
Surface andwidt$
"he width of the )surface band) wherein the '*urface *upersampling' property is used to control
8/10/2019 Naiad_doc
32/183
the particle density.
Dynamics arameters
*nteraction Set
whitespace seperated list of body names that this body will interact;collide against, if
encountered in the Dynamics op. "he asteris+ &4 symbol is a wildcard representing all bodies.Ti!e Scale"his parameter is a non-physically-correct )retimer) which changes the flow of time in the
transport solver. 2alues < : results in a global speedup of the fluid flow, without introducing any
new velocities or accelerations into the simulation. 2alues less than : similarly result in a global
slowdown of the fluid flow. se this property with care, as it may does introduce unwanted side-effects, especially at high settings.
1utputs
body-output
#o description available.
(article-:i3uid
Overview
A (article-:i3uid signature uses a mi/ of particles and fields to describe a li3uid body.
'hannels
"he following standard channels are always present in (article-:i3uid bodies
Vector(articleposition "he worldspace position of each particle.
Vector(articlevelocity "he worldspace velocity of each particle.
Vector1ieldvelocity "he worldspace velocity field of the fluid$ mirroring the (articlevelocitychannel. pecifically$ every 1ieldvelocity cell contains a weighted average of every(articlevelocity bounded by the cell$ sub5ect to the constraints imposed by the time-stepgraph evolving the body for e/ample$ boundary conditions and incompressibility.
Float1ieldfluid-distance A worldspace signed distance field$ representing the fluid surface
and interior. pecifically$ the 1ieldfluid-distance channel is guaranteed to match the particledistribution in the sense that where there are particles$ there is also a fluid surface envelopingthose particles and that surface is encoded in this channel.
Float1ieldsolid-distance A worldspace signed distance field$ representing the surface andinterior of any collisionsolid ob5ects.
Vector1ieldsolid-velocity "he worldspace velocity field of any collisionsolid ob5ects.
Float1ieldparticle-count "he number of particles per cell in the body9s tile-layout.
8/10/2019 Naiad_doc
33/183
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. If a body has evolving state, then it mustsurvive from one time-step to the next, and thus the body isn't terminated until the end of the
entire simulation. Bodies having a Dynamic, Kinematic and ser !otion-"ype are all evolvingbodies. #on-evolving bodies have nsolved !otion-"ype, as there is no state to evolve and thus,nothing survives from one time-step to the next.
Dynamic$ %volve both position and velocity state on the body. "his is the normal setting for fully
dynamic fluid, rigid, or soft bodies, or particle systems, etc.
Kinematic$ %volve only the position state on the body. "his is normally used for bodies which
evolve only through passive advection &transport through velocity-fields of other bodies &so-called 'detail sims graphs', etc. Kinematic bodies do not modify their own velocity information at
all( in fact they often don't even have their own velocity channels, and when they do, they are
always )stolen) from other bodies.
ser$ *tate is evolved, however #aiad ma+es no assumptions about which state that would be, nor
how it evolves. "his !otion-"ype is designed for people doing heavy experimentation or
implementing their own transport and dynamics solvers inside the #aiad framewor+.
nsolved$ "he body has no evolving state and its data must be re-created at the start of every
time-step.
"ile ayout arameters
Cell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e bychanging this parameter. If you later decide to globally upre0 the simulation, you don't have to
find every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size
"he number of cells along each dimension of each tile in the volume
"ransport arameters
Transport #recision"he accurary of the particle transport. "his property ranges from 9 to :. "he higher the precision,
the more substeps the solver will typically re6uire during transport, resulting in a slightly slower&but more accurate solve. In general, more precision is usually desired when dealing with fast-
moving bodies. *ymptoms that can be alleviated by increasing this property include volume loss,
particle bunching, and spurious lea+ing through collision surfaces.
Ma) Transport Substeps
imits the number of substeps the transport solver is allowed to ta+e, regardless of how many the
'"ransport recision' property as+s for. !a+ing this value too low may defeat the purpose of the
8/10/2019 Naiad_doc
34/183
'"ransport recision' property.
*upersampling arameters
#article Supersa!pling
"he particle density throughout the body, given as a one-dimensional unit. "o get the particle
count per cell in the body's tile-layout, ta+e the cube of this property. 3or example,supersamplingEA results in F particles per cell &A=>EF.
Surface Supersa!pling
"he particle density at the surfaceof the body, where the surface is defined by a distance field &if
one exists -- for example, the article-i6uid body uses the standard 3ield;fluid-distance channel
to define the surface of the body. "he common use for this property is to allow a more denseparticle distribution at the surface layer of the body. *ame units as the 'article *upersampling'
property &see above.
Surface andwidt$
"he width of the )surface band) wherein the '*urface *upersampling' property is used to control
the particle density.
Dynamics arameters
*nteraction Set
whitespace seperated list of body names that this body will interact;collide against, ifencountered in the Dynamics op. "he asteris+ &4 symbol is a wildcard representing all bodies.
Fluid Met$od
"he numerical method used to simulate this fluid body over time.
3I$ %xotic !atter's next-generation implementation of the classic 3luid Implicit article!ethod. "his is the recommended setting for fluids that are very splashy or turbulent.
D%3I$ %xotic !atter's brand new simulation method that produces smoother fluid surfaces
while preserving nearly the same detail as with the 3I method.
Velocity +iffusion
"he amount of numerical diffusion to introduce in the velocity channel. "iny amounts of this canhelp reduce particle noise, which may be beneficial for producing smooth surfaces or ?ust )de-
noise) the particle motion in general. s this parameter ta+es on larger values, the fluid will
appear more viscous. sing this parameter for viscosity will result faster simulation times thanusing the regular 2iscosity dynamics parameter, however the resulting viscosity is not as accurate
as that which is generated by the 2iscosity dynamics property &see below.
Surface Tension
*pecified in standard units of force per unit length &or energy per unit area. "here is a ris+ of the
simulation going unstable if the time step or surface tension are too large or the grid spacing toosmall.
Ti!e Scale
"his parameter is a non-physically-correct )retimer) which changes the flow of time in the
transport solver. 2alues < : result in a global speedup of the fluid flow, without introducing any
new velocities or accelerations into the simulation. 2alues less than : similarly result in a globalslowdown of the fluid flow. se this property with care, as it may does introduce unwanted side-
effects, especially at high settings.
Fluid +ensity
8/10/2019 Naiad_doc
35/183
"he physical density of the fluid, given in units of mass per volume &in *I units$ +g;m=>. #1"%that this global value is overriden by the standard scalar channel 3ield;density &if it exists.
*ome standard density values &in *I units$
ir$ :
7ater$ :999
Viscosity
"he dynamic viscosity of the fluid, given in units of mass per time per length &in *I units$ +g;
&s4m. #1"% that this global value is overriden by the standard scalar channel 3ield;viscosity &if
it exists.
"he fully accurate viscosity in #aiad is cool, but may slow down your simulations significantly, ifyou're using the default settings in the Dynamics 1p. If you notice a ma?or slowdown, please
lower the 'recision' parameter on the Dynamics 1p as low as possible while still yielding the
desired viscous fluid behavior.
*ome standard viscosity values &in *I units$
!il+$ 9.>
@oney$ A-:9
!otor 1il$ :-C9
!olten /hocolate$ -:>9
eanut Butter$ A9
Fluid Radius Factor
Do #1" change this
1utputs
body-output
#o description available.
,igid-Body
#o description available.
!otion "ype (arameters
Motion Type
#o description available.
8/10/2019 Naiad_doc
36/183
8/10/2019 Naiad_doc
37/183
"et
#o description available.
!otion "ype (arameters
Motion Type
#o description available.
"ile ayout arameters
Cell Scale
#o description available.
Tile Size
#o description available.
1utputs
body-output
#o description available.
;olumeOverview
A ;olume signature encodes a volumetric description of an ob5ect$ storing the ob5ect9sgeometry as an implicit field$ as opposed to e/plicitly reducing the ob5ect into a set of verticesand faces and storing those$ as the !esh signature does.
"he *istance 1ield 'hannel
"he ob5ect is encoded in a signed distance field stored in the 1ielddistance channel which$
like all 1ield-'hannels$ is mapped out across the body9s tile layout.
8/10/2019 Naiad_doc
38/183
fields which #aiad distance-fields also follow is that a negative distance implies the cell liesin the ob5ect9s interior whereas positive distances lie in the e/terior.
'hannels
"he following standard channels are always present in ;olume bodies Float1ielddistance "he worldspace signed distance field of the encoded ob5ect.
Vector1ieldvelocity "he worldspace velocity of the encoded ob5ect.
!otion "ype (arameters
Motion Type
Defines if and how the body's state is evolved over time. "his signature is a non-evolving
signature, and so the only accepted !otion-"ype is nsolved, which means there is no state to
evolve and thus, nothing survives from one time-step to the next.
"ile ayout arametersCell Scale
mount to scale the dimensions of the cells in the tile layout by. #ote that this parameter does not
represent the actual worldspace dimensions of the cells, rather it uniformly scales them. "o find
out the actual worldspace dimensions you have to multiply this parameter by the global parameter)!aster /ell *i0e). "his allows you to set a global cell si0e in worldspace units for the whole
simulation &the )!aster /ell *i0e), and still allow each body to have its own cell-si0e by
changing this parameter. If you later decide to globally upre0 the simulation, you don't have tofind every )/ell *cale) parameter on all the Body1ps that have it, but simply change the )!aster
/ell *i0e).
Tile Size"he number of cells along each dimension of each tile in the volume
1utputs
body-output
#o description available.
8/10/2019 Naiad_doc
39/183
03- Body Ops Primitive
Box-Mesh
Overview
Creates an unsolved body using the Mesh signature--meaning vertices are stored in thePoint/position channel and triangle connectivity in the !riangle/index channel" !he geometryis always that o# a unit cube mesh" !he mesh is trans#ormed into worldspace using theparameters #ound in the $!rans#orm$ parameter section"
!he tile layout parameters are provided only because this Op creates a body and thus
re%uires them& however neither the !riangle nor Point-'hape ma(es any use o# the tilelayout"
'ettings Parameters
Body Name
The name of the Mesh body created
Closed Top
Seals off the top face of the box
Closed Bottom
Seals off the bottom face of the box
Transform Parameters
Translate
Body-to-worldspace translation
Rotate
Body-to-worldspace rotation
Scale
Body-to-worldspace scale
Tile Layout ParametersCell Scale
Amount to scale the dimensions of the cells in the tile layout by. Note that this parameter does not
represent the actual worldspace dimensions of the cells rather it uniformly scales them. To findout the actual worldspace dimensions you ha!e to multiply this parameter by the "lobal parameter
#Master $ell Si%e#. This allows you to set a "lobal cell si%e in worldspace units for the whole
simulation &the #Master $ell Si%e#' and still allow each body to ha!e its own cell-si%e by
chan"in" this parameter. (f you later decide to "lobally upre% the simulation you don)t ha!e to
8/10/2019 Naiad_doc
40/183
find e!ery #$ell Scale# parameter on all the Body*ps that ha!e it but simply chan"e the #Master$ell Si%e#.
Tile Size
The number of cells alon" each dimension of each tile in the !olume
*utputs
body-output
The mesh body is sent out throu"h this output
'phere-)olume
Overview
Creates an unsolved body using the )olume signature meaning the distance to the sur#aceis stored in *ield/distance and the velocity is stored in *ield/velocity channel" !he sur#ace isalways that o# a unit sphere"
'ettings Parameters
Body Name
The name of the sphere !olume body created
Position
The worldspace center of the sphere
Radius
The worldspace radius of the sphere
Coarsen Interior
This feature is currently disabled
Coarsen Interior Level
This feature is currently disabled
Tile Layout Parameters
Cell Scale
Amount to scale the dimensions of the cells in the tile layout by. Note that this parameter does not
represent the actual worldspace dimensions of the cells rather it uniformly scales them. To find
out the actual worldspace dimensions you ha!e to multiply this parameter by the "lobal parameter#Master $ell Si%e#. This allows you to set a "lobal cell si%e in worldspace units for the whole
simulation &the #Master $ell Si%e#' and still allow each body to ha!e its own cell-si%e by
chan"in" this parameter. (f you later decide to "lobally upre% the simulation you don)t ha!e tofind e!ery #$ell Scale# parameter on all the Body*ps that ha!e it but simply chan"e the #Master
$ell Si%e#.
Tile Size
The number of cells alon" each dimension of each tile in the !olume
8/10/2019 Naiad_doc
41/183
*utputs
body-output
The sphere !olume body is send down throu"h this output
8/10/2019 Naiad_doc
42/183
04- Body Ops
Box-Mesh
Overview
Creates an unsolved body using the Mesh signature--meaning vertices are stored in thePoint/position channel and triangle connectivity in the !riangle/index channel" !he geometryis always that o# a unit cube mesh" !he mesh is trans#ormed into worldspace using theparameters #ound in the $!rans#orm$ parameter section"
!he tile layout parameters are provided only because this Op creates a body and thusre%uires them& however neither the !riangle nor Point-'hape ma(es any use o# the tilelayout"
'ettings Parameters
Body Name
The name of the Mesh body created
Closed Top
Seals off the top face of the box
Closed Bottom
Seals off the bottom face of the box
Transform Parameters
Translate
Body-to-worldspace translation
Rotate
Body-to-worldspace rotation
Scale
Body-to-worldspace scale
Tile Layout ParametersCell Scale
Amount to scale the dimensions of the cells in the tile layout by. Note that this parameter does not
represent the actual worldspace dimensions of the cells rather it uniformly scales them. To findout the actual worldspace dimensions you ha!e to multiply this parameter by the "lobal parameter
#Master $ell Si%e#. This allows you to set a "lobal cell si%e in worldspace units for the whole
simulation &the #Master $ell Si%e#' and still allow each body to ha!e its own cell-si%e bychan"in" this parameter. (f you later decide to "lobally upre% the simulation you don)t ha!e to
8/10/2019 Naiad_doc
43/183
find e!ery #$ell Scale# parameter on all the Body*ps that ha!e it but simply chan"e the #Master$ell Si%e#.
Tile Size
The number of cells alon" each dimension of each tile in the !olume
*utputs
body-output
The mesh body is sent out throu"h this output
)istance-Mesh
Overview
!his is a distance-#ield sur#acer op which extracts a triangle-mesh #rom a distance-#ieldsub*ect to various constraints such as collision distance-#ields and mas(s to limit meshingregions etc"
+eneral Parameters
Body Name
The name of the resultin" mesh bod
Surface Supersampling
The amount to supersample the distance-field durin" meshin"
Surface LevelThe iso-!alue of the distance field where the surface is extracte
Mesh Smoothing Steps
The number of laplacian smoothin" iterations performed on the extracted surface mesh.
(nputs
distance-field
The input distance-field that encodes the surface we are meshin"
velocity-field
*ptionally the !elocity field of the surface we are meshin". $onnectin" this input results in the
mesh containin" a per-point !elocity channel which can be used for motion-blur etc.solid-distance-field
*ptionally the solid-distance may be used to constrain the mesh from penetratin" the surface
encoded in this input.
mas-field
*ptionally the mas+-field input is used to determine which re"ions of the distance-field that
should be included in the meshin". Non%ero !alues represent meshable re"ions.
8/10/2019 Naiad_doc
44/183
*utputs
mesh-output
The resultin" mesh is passed out throu"h this body output
Mesh-Merge
Overview
Merges all the Point , !riangle shapes #rom every body admitted through body-inputinto asingle Mesh body" !he resulting merged body is passed out through body-output"
ote that all bodies encountered in body-inputwill be terminated a#ter the merge is complete-- even those bodies which do not match the Mesh signature and were not part o# the #use"
Body Parameters
Body Name
The name of the resultin" mesh bod
(nputs
body-inputAll bodies matchin" the Mesh si"nature are admitted throu"h here
*utputs
body-output
The resultin" body from the mer"e is passed down throu"h this output
8/10/2019 Naiad_doc
45/183
Particle-Mesh
Overview
!his is a particle sur#acer op that creates a triangle-mesh #rom each admitted body.sParticle/position channel onlyas opposed to the )istance-Mesh op which generates themesh sur#ace #rom a distance-#ield only"
!he Particle/velocity channel i# it exists is used to create per-vertex velocities on the meshstored in the resulting mesh.s Point/velocity channel"
1inally the mas(-#ield input is optionally used to limit the region o# space where sur#acingshould occur"
Body ParametersBody Name
The name of the resultin" mesh bod
$on!ersion Parameters
Thicening Radius
The thic+ness of each particle used to "enerate the distance-field. A cell in this parameter refers tothe cell-si%e of the tile- layout of the input-body N*T the resultin" !olume. (f the thic+ness is less
than the !olume)s cell-si%e the !olume may be underresol!ed and you may end up with nothin"
or suffer "rid aliasin" artifacts which often end up as a flic+erin" problem.
!etail Band"idth
The amount &in worldspace units' to pad the re"ion of space around the surface of the !olume
used to store the data. ,alues here can cause the tile-layout mappin" the distance-field onto
space to "row allowin" for more freedom in shrin+in"/"rowin" the distance field later on as apost-processin" step.
#nti-Cavity Steps
0ow much to fill in small ca!ities in the resultin" distance-field
Smoothing Steps
0ow much to smooth the resultin" distance-field
Blend Radius $actor
No description a!ailable.
Mesh $luid Smoothing
The number of feature-preser!in" smoothin" steps performed on the extracted surface mesh.
Mesh Blur
The number of non-feature preser!in" smoothin" steps performed on the extracted surface mesh.
$hannel Sweepin" Parameters
Channels
A space-separated list of arbitrary Particle channels to transfer to the mesh &endin" up in the
8/10/2019 Naiad_doc
46/183
Point-Shape'.
%elocity Scale
This con!enience parameter applies a constant scale to the 1ield/!elocity channel of the resultin"
!olume. Be careful when usin" the !olume as a collision body and usin" scales less than 2.
Tile Layout Parameters
Cell Scale
Amount to scale the dimensions of the cells in the tile layout by. Note that this parameter does notrepresent the actual worldspace dimensions of the cells rather it uniformly scales them. To find
out the actual worldspace dimensions you ha!e to multiply this parameter by the "lobal parameter
#Master $ell Si%e#. This allows you to set a "lobal cell si%e in worldspace units for the wholesimulation &the #Master $ell Si%e#' and still allow each body to ha!e its own cell-si%e by
chan"in" this parameter. (f you later decide to "lobally upre% the simulation you don)t ha!e to
find e!ery #$ell Scale# parameter on all the Body*ps that ha!e it but simply chan"e the #Master$ell Si%e#.
Tile Size
The number of cells alon" each dimension of each tile in the !olume
$oarsenin" Parameters
Coarsen &nterior
This feature is currently disabled
Coarsen &nterior Level
This feature is currently disabled
(nputs
body-inputThe bodies containin" the particles to surface
mas-field
*ptionally the mas+-field input is used to determine which re"ions of the distance-field that
should be included in the meshin". Non%ero !alues represent meshable re"ions.
*utputs
body-output
The resultin" meshes are passed out throu"h this body output
8/10/2019 Naiad_doc
47/183
2igid-Mesh-3ssign
Overview
3ssigns a mesh to all admitted rigid bodies"
'tepping Parameters
'nabled
(nputs
body-input
The 3i"id Bodies which may be admitted
mesh-input
The Mesh body which defines the 3i"id Body)s mes
*utputs
body-output
The resultin" bodies are passed down throu"h this output
!et-Mesh
Overview
!et-Mesh extracts the sur#ace mesh #rom the incoming tet body"
+eneral Parameters
Body Name
The name of the resultin" mesh bod
(nputsbody-input
The tet body we are con!ertin" fro
*utputs
body-output
The resultin" mesh is passed out throu"h this body output
8/10/2019 Naiad_doc
48/183
8/10/2019 Naiad_doc
49/183
05- Body Ops Channel
Channel-Filter
Overview
Filters out (erases) channels from a given Shape in all admitted odies!
Filter Settings "arameters
Shape
Specifies which Shape we are filteringFilter
Controls if the channels listed in the 'Channels' parameter are to be erased or kept.
Channels
The space-separated list of channels to keep or erase, depending on the the 'Filter' parameter
setting.
Inputs
body-input
All bodies are admitted through this input
utputs
body-output
All bodies are passed down through this output
Channel-#ename
Overview
#enames a channel in all admitted odies!
$eneral "arameters
Shape
Specifies which Shape to look in for the channel to rename
8/10/2019 Naiad_doc
50/183
Old Channel
Specifies the current name of the channel to rename
New Channel
Specifies the new name of the channel
Inputs
body-input
All bodies are admitted through this input
utputs
body-output
All bodies are passed down through this output
Channel-Split
Overview
Splits off a list of channels into a new ody!
Split Settings "arameters
Shape
Specifies which Shape to look in for the channels to split
ofChannels
A list of names of space-separated channels
Keep Original
!eep the original channels in the bod" after the split
happens.
Inputs
body-input
All bodies are admitted through this input
utputs
body-output
All bodies are passed down through this output
split-body-output
The split bodies are passed down through this output
8/10/2019 Naiad_doc
51/183
Field-Channel
Overview
Creates a new Field-Channel on all admitted odies% and initiali&es it to the value given ythe 'nitial alue' parameter! f the admitted ody doesn't have a Field-Shape% this Op willcreate and add it to the ody efore adding the Field-Channel!
Field *mission (for Smo+e% Fire etc)
,his op can configured to perform Field-Channel emission% such as emitting smo+e into theFieldsmo+e channel inside a Field-$as ody% for instance! ,o ma+e this op wor+ as a fieldemitter% +eep the following in mind.
Set 'alue /ction' to '*mit' so that the Source alue ecomes an emission-rate! se themask-fieldto controlscalemas+ where emission occurs!
se the '#efine ,iles' parameter if you want to e1tend the tile-layout of the ody to cover thetotal region of emission (recommended in most cases)! f you only want emission to occurwhere the ody already has tiles% leave this parameter Off!
2a+e this an 'nterest Channel' if your ody has no particles! 3aiad uses particles todetermine where the fluid is! 4owever% when dealing with pure field odies (such as Field-$asSmo+eFire)% 3aiad trac+s the fluid y e1amining the 'interest channels'% which arepresumed to contain non&ero data in regions where the fluid is defined! ,iles willautomatically e created in those regions% ut only for interest channels! ou should have atleast one interest channel defined!
f you want this channel to e transported along the ody's Fieldvelocity channel (as youwould with smo+e% etc)% set ,imestep pdate parameter to 6ow or 4igh 7etail ,ransport!
,ile-6ayout "arameters
Refine Tiles
#efines the tile la"out of all admitted bodies according to the la"out passed in through the value-
fieldand mask-fieldinputs.
Channel Settings $arameters
Channel
The name of the Field-Channel to create%maintain
Channel TypeThe Field-Channel &alue t"pe. There are two options
Float (ake this a scalar-field channel )a single floating-point &alue per cell*.
+ector (ake this a &ector-field channel ) floating-point &alues per cell*.
Initial Value
The initial constant &alue of the Field-Channel. If the channel is scalar-&alued, onl" the -
component of this &ector is used.
Timestep pdate
8/10/2019 Naiad_doc
52/183
The action taken on the field during the transport stage )at the start of the time-step, before thebodies are e&ol&ed b" the graph*. There are fi&e options to choose from
!eep Current o not modif" the &alues in the channel.
#eset To efault Set all cells to the default &alue )which is e/ual to the 0Initial +alue0
parameter*.
1ow etail Transport Transport the field along the &ector-field found in Field%&elocit" channel.The transport algorithm chosen in this mode is fast but e2hibits more numerical diffusion than the
3igh etail Transport setting.
3igh etail Transport Transport the field along the &ector-field found in Field%&elocit" channel.The transport algorithm chosen in this mode is slower but e2hibits less numerical diffusion than
the 1ow etail Transport setting.
$article Splat Initiali4e the cells in this Field-Channel using a $article-Channel with the same
name as this channel. 5ach cell in the Field-Channel is initiali4ed using the $article-Channel
&alues bounded b" the cell. The 0Splatting (ethod0 parameter controls e2actl" how each
particle's channel &alue contributes to the final cell &alue.
$article Splatting $arameters
Splatting !ethod
Compute the weighted a&erage of all particle channel &alues bounded b" each cell, else 6ustaccumulate the particle channel &alues.
"#tend $oundary
After the splatting, e2tend the &alues of an" boundar" cells into neighboring cells with noparticles. This can be useful when "ou don't want "our field to fade to the background color at the
boundar" of the particle region. ne e2ample of this would be splatting a particle color channel
into a field color channel. If '52tend 7oundar"' was turned off, a halo would form around thecolored region since the ad6acent cells would not ha&e been updated b" an" particles and thus
store some constant background &alue.
Interest Tracking $arameters
Interest Channel
8aiad uses particles to determine where the fluid is. 3owe&er, when dealing with bodies that ha&eno particles )such as Field-9as%Smoke%Fire, etc*, 8aiad tracks the fluid b" e2amining 'interest
channels', which are presumed to contain non4ero data in regions where the fluid is defined. Tiles
will automaticall" be created in those regions, but onl" for interest channels.
Interest Threshold
The minumum &alue in a tile that should be tracked
%istan&e Interest(arks the channel as a distance channel and the 'Interest Threshold' abo&e e/uals the distancefield's iso-surface &alue.
+alue Action $arameters
Run Value '&tion
An e2pression parameter which, if it e&aluates to non4ero, triggers the &alue action to run at the
time this bod" is e&ol&ed b" this p. The &alue action applies the Source +alue to the &alues of
8/10/2019 Naiad_doc
53/183
the channel. The Source +alue is either the &alue of the 'Source +alue' parameter )see below*, orthe contents of the value-fieldinput, if connected. The wa" in which the Source +alue is applied
depends on the '+alue Action' parameter )see below*.
Value '&tion
efines the wa" the Source +alue is used to update the &alues of the channel. This action will notrun unless the '#un +alue Action' e&aluates to non-4ero )see abo&e*.
There are fi&e options to choose from
Set Set channel to the source &alue.
Scale Scale channel b" the source &alue.
Accumulate Add source &alue to the channel.
5mit Add source &alue multiplied b" dt )the length of the time-step* to the channel.
Sour&e Value
The uniform constant source &alue of the &alue action. 8T5 that this parameter is ignored the
value-fieldinput is connected. In that case, the source &alue &aries per cell, and is the &alue of the
Fieldp graph sampled at the each cell position, sub6ect to an" appropriate (AC-grid offsets)e.g., at cell centers for scalar-&alued fields, and on cell faces for &ector-&alued fields*. If the
channel is scalar-&alued, onl" the -component of this &ector is used.
"namics $arameters
%issipation
The rate of dissipation after the &alue-action has been applied to the field. The rate is e2pressed inunits%frame, so a &alue of : means e&er" cell in the channel is reduced to ; in a single frame.
%iffusion
The rate of diffusion after the &alue-action has been applied to the field. The rate is e2pressed inunits%frame.
Inputs
body-input
All bodies are admitted through this input
(alue-field
The Fieldp graph optionall" connected to this input defines the per-cell &alue used b" the &alue-action step )see the '+alue Action' parameter*.
mas)-field
The Fieldp graph optionall" connected to this input defines a mask field which works as a global
scale on the source &alue used b" the &alue-action step )see the '+alue Action' parameter*.
utputs
body-output
All bodies encountered in body-inputare passed down through this output, regardless if the" were
admitted or not.
8/10/2019 Naiad_doc
54/183
Field-3el-Channel
Overview
Computes a channel value for each cell in a field channel of each admitted ody!
,ile-6ayout "arameters
Refine Tiles
#efines the tile la"out of all admitted bodies according to the la"out passed in through the value-
fieldinput.
Channel Settings $arameters
Channel
The channel to create%setChannel Type
The t"pe of the channel.
Channel "#pression
The per-cell field 851 e2pression used to set the channel &alues. If the channel t"pe is scalar
&alued, onl" the component of this parameter is used.
Inputs
body-input
All bodies that match the Field signature are admitted through this input.
(alue-field$ro&ides an optional field which can be sampled in the 851 e2pression
utputs
body-output
All bodies encountered in body-inputare passed down through this output, regardless if the" wereadmitted or not.
8/10/2019 Naiad_doc
55/183
"article-/ge
Overview
Creates a scalar-valued "article-Channel on all admitted odies! ,he channel's name is8age8! ,his Op also performs the actual particle aging% also ta+ing care of +illing particleswho's age reaches or e1ceeds the '6ifespan' parameter!
/ging "arameters
*ifespan
The ma2imum age a particle is allowed to reach before d"ing )in simulation seconds*.
Inputs
body-inputAll bodies that match the $article signature will be admitted
utputs
body-output
All bodies encountered in body-inputare passed down through this output, regardless if the" were
admitted or not.
"article-Channel
Overview
Creates a new "article-Channel on all admitted odies% and initiali&es it to the value given ythe 'nitial alue' parameter!
/lso specifies a value action which determines what happens to the "article-Channel at thetime each ody is evolved y this BodyOp!
f the admitted ody doesn't have a "article-Shape% this Op will create and add it to the odyefore adding the "article-Channel!
Channel Settings "arameters
Channel
The name of the $article-Channel to create%maintain
Channel Type
8/10/2019 Naiad_doc
56/183
The $article-Channel &alue t"pe. There are two options
Float (ake this a scalar channel )a single floating-point &alue per cell*.
+ector (ake this a &ector channel ) floating-point &alues per cell*.
Initial Value
The initial uniform constant &alue of the channel. If the channel is scalar-&alued, onl" the -
component of this &ector is used.
+alue Action $arameters
Run Value '&tion
An e2pression parameter which, if it e&aluates to non4ero, triggers the &alue action to run at the
time this bod" is e&ol&ed b" this p. The &alue action applies the Source +alue to the &alues of
the channel. The Source +alue is either the &alue of the 'Source +alue' parameter )see below*, or
the contents of the value-fieldinput, if connected. The wa" in which the Source +alue is applieddepends on the '+alue Action' parameter )see below*.
Value '&tion
efines the wa" the Source +alue is used to update the &alues of the channel. This action will notrun unless the '#un +alue Action' e&aluates to non-4ero )see abo&e*. There are fi&e options to
choose from
Set Set channel to the source &alue.
Scale Scale channel b" the source &alue.
Accumulate Add source &alue to the channel.
5mit Add source &alue multiplied b" dt )the length of the time-step* to the channel.
Sour&e Value
The uniform constant source &alue of the &alue action. 8T5 that this parameter is ignored if a
Fieldp graph is connected to the value-fieldinput. In that case, the source &alue &aries perparticle, and is the &alue of the Fieldp graph sampled at each particle position. If the channel is
scalar-&alued, onl" the -component of this &ector is used.
Inputs
body-input
All bodies are admitted through this input
(alue-field
The Fieldp graph optionall" connected to this input defines the per-particle &alue used b" the
&alue-action step )see the '+alue Action' parameter*.
mas)-fieldThe Fieldp graph optionall" connected to this input defines a mask field which works as a global
scale on the source &alue used b" the &alue-action step )see the '+alue Action' parameter*.
utputs
body-output
All bodies encountered in body-inputare passed down through this output, regardless if the" wereadmitted or not.
8/10/2019 Naiad_doc
57/183
"article-d
OverviewCreates a 9:-it integer "article-Channel on all admitted odies! ,he channel's name is8id9:8! ,his is a standard "article-Channel which automatically ta+es care of initiali&ing newparticles's id's!
nputs
body-input
/ll odies that match the "article signature will e admitted
Outputsbody-output
/ll odies encountered in body-inputare passed down through this output% regardless ifth