s 28.42
Axiom Solver
- Axiom > Main > Solver
- Mode
- Traditional
- Traditional follows the exact steps of used by most fluid solvers
- Reflection
- Reflection is good at conserving energy in the sim, swirling motion will last longer.
- Reflection Single Step
- Less accurate but faster version of reflection (Default)
- Really no need to change from this
- Traditional
- Division Size
- Voxel div size, lower value means higher resolution
- Voxels
- Starting number of voxels. By default, if the solver reaches this limit it will increase the limit by 20% and keep going. If it can not allocate more memory, it will try to find a new device to run on.
Under Setting > solver > Voxel Limit Behaviour you can set how it behaves if it reaches the limit.
- Starting number of voxels. By default, if the solver reaches this limit it will increase the limit by 20% and keep going. If it can not allocate more memory, it will try to find a new device to run on.
- Mode
Axiom will allocate the GPU memory it needs to be able to sim the voxels specified in the Main > Solvber > Voxels parameter. On the Main > Info tab you can see this info. It is faster and less artifact prone to allocate enough memory from the beginning.
- Tip
- You can bring up the performance monitor with Window key + G
Axiom source
Basic
- Basic setup
- Add axiom solver
- Add axiom source shape
- Connect the source shape to the second input of the solver
Lets add a pressure influence field
Sink
-
Sink
- Create an axiom source node
- Set the Main > Type : Sink
- Transform the node into position
- The sink will remove all density it comes into contact with
-
Camera frustum
- Create an axiom source node
- Set the Main > Type : Camera Frustum
- Select the camera you want to use
- All density that falls outide of the camera frustum (witjh some padding) will be removed
Influence
- Pressure influence
- Add axiom source shape
- Change the Main > type to Influence
- Set the Sourcing > Pressure to 5
- We can also set it to 1 here and scale the pressure on the solver instead.
- Move the influnece source up Transform > Translayt Y : 4
- Merge fields
- Merge the influence source with the density source (the one we created in the basic setup above)
- Input to solver
- Connect the merged sources to the second input of the axiom solver.
- We can see that when the smoke hits the influence field it balloons out.
- Note!
- On the solver Sourcing > Influnence you will find multipliers of the incomming influence fields.
- Add axiom source shape
We can also add a temperature influnce to heat up or cool down the sim. If a negative temperature is used the smoke will loose bouancy and “fall down”
- Velocity Influence
- Add axiom source shape
- Set Type
- Main > Type to Influence
- Main > Shape to Cylinder
- Transform the source shape
- Transform > Translate Y : 1
- Transform > Uniform Scale : 2
- Set the influence to a Spin force
- Force > Type : Spin
- Force > Magnitude : 3
- Set Type
- Merge fields
- Merge the influence source with the density source.
- Input to solver
- Connect the merged sources to the second input of the axiom solver.
- Add axiom source shape
We can animate the properties of the sources to effact the sim in various ways.
Custom source
- Custom emitter (density & temperature)
- Create a polygon sphere
- VDB from Polygons
- Fog VDB : density
- Add temperature
- Add a name sop
- group : @name=density
- name : temperature
- Add a name sop
- Merge with density vdb
- Feed into the first input of the axiom solver
Custom influence
Pressure
- Custom influence pressure
- Create a polygon sphere
- Transform the sphere
- Set the radius to 1 on all axis
- This is just done in this example to mimic the size of the default axim source. You can obviously set it to whatever you want.
- Move the sphere up Center Y : 2
- Set the radius to 1 on all axis
- Transform the sphere
- Add influence field
- VDB from Polygons
- Fog VDB : influence
- This field is used as a mask / activator of where to add influence
- VDB from Polygons
- Add pressure field
- To add a pressure influence we also need to add a specific influencePressure field.
- Add a name SOP
- Group : @name=influence
- Name : influencePressure
- Invert the pressure
- Unlike the pressure influence we added with the axiom source we need to invert the custom influencePressure field.
- Add a Volume Wrangle
- f@influencePressure *= -1;
- Merge fields
- Merge the influence source with the density source.
- Input to solver
- Connect the merged sources to the first input of the axiom solver.
- Note!
- On the solver Sourcing > Influnence you will find multipliers of the incomming influence fields.
- Create a polygon sphere
Velocity
- Custom influence velocity
- Create a mesh
- Velocity attributes
- If we have an animated geo we can use the Point Velocity SOP to generate v attrib.
- Or we can use a wrangle to add a velocity (v) attribute to the points of the mesh.
- We will use these point atribs to generate the velocity field.
- Velocity attributes
- Add influence field
- VDB from Polygons
- Fog VDB : influence
- This field is used as a mask / activator of where to add influence
- VDB from Polygons
- Add velocity field
- Click the + in the multiparm called Surface Attributes in bottom of the VDB from Polygons node.
- Click the dropdown in the right side of the Attribute parameter and select point.v
- In the VDB Name parameter enter influenceVel
- You can set the Vector Type to Displacement/Velocity/Acceleration (altough I do not think that is needed)
- Merge fields
- Merge the influence source with the density source.
- Input to solver
- Connect the merged sources to the first input of the axiom solver.
- Note!
- On the solver Sourcing > Influnence you will find multipliers of the incomming influence fields.
- Create a mesh
Collision
- Custom collision
- To add custom collision we can use the workflow above (to create influence velocity)
- But instaead we use collision as the fog VDB name and collisionVel as the surface attribute (point.v)