This page provides information on the two license type that Chaos Phoenix provides.

Overview


Phoenix for Maya requires a Simulation license when the simulation is started. If a Simulation license is not found, Phoenix will display an error message with the possible reason why the license cannot be found.

Phoenix also needs a GUI (Graphical User Interface) license in order to access the user interface of the Simulator. It is also required when starting a simulation in GUI mode - that is when Maya is not started in console mode via Backburner or using Maya's Render.exe. If Maya is not run in GUI mode, only a Simulation license will be required when starting the simulation. You can use Simulation licenses to run simulations on machines that do not have a Phoenix GUI license.

Note that a distributed simulation in which different parts of the same simulation are calculated across several machines is currently not implemented. However, you can use Phoenix's Simulation licenses to run many simulations on separate machines without using the Graphical User Interface and without engaging a GUI license. You can use this to script different functionalities such as simulating one scene on a different machine while you prepare another scene, or simultaneously running copies of the same scene with different simulation settings on several machines so you can compare them later.

Also, note that on one machine you can open several instances of Maya in GUI mode or run several simulations. Doing so will consume just one GUI or Simulation license. To run Maya in GUI mode or simulate different simulations on more than one machine, more than one license will be required.


Setting up a Simulation without a GUI License


Currently there is no simulation manager in Phoenix that will automate sending and running of simulation over the network. This can be scripted manually using Phoenix's MEL Script interface and Maya's mayabatch.exe, Backburner, Thinkbox Deadline or other render manager. There are many ways to do this and you can pick one of the following examples that suits your workflow the best.

Before starting, if you intend to run the simulation of a scene on a different machine, you may first edit the Input and Output paths of the simulators in your scene and set them to a shared directory on the network. By default Phoenix looks for the cache files in the same directory where the scene is, using the $(work_path) keyword. However, at the start of a network simulation, the scene file may be copied by the render manager you are using to a different location on the network machine, e.g. C:\Users\user\AppData\Local\backburner\Jobs\, or the Deadline repository directory. By setting the cache path to a shared folder on the network or a mapped network drive, you make sure that the cache file sequence will be generated where you actually intend; otherwise, you might have to look for the simulation result in any of the directories mentioned above. You can set the cache path from the Input panel using a network-visible UNC input path (a path that starts with \\). You can also browse from the Input panel's path options.

Since commonly used render managers such as Backburner or Thinkbox Deadline are primarily designed to render instead of simulating scenes, you need to use a custom script to run the simulation. The simplest MEL Script file that will run the simulation contains only this line of code:

test_script.mel
phxfdBatchSim "PhoenixFDSimulator1"

You should replace PhoenixFDSimulator1 with the actual name of the simulator in your scene and save the script file to a place where you can use it later. This example script will start the simulation and then wait for it to finish before returning control to the render manager. You can check the Phoenix FD Scripting Reference for more info on these commands and other commands you can use. You may extend this script with other custom processing, running several simulators in the same scene one after another, etc.

 

Setting up a Simulation without GUI using Thinkbox Deadline


You can pass this simple script or an extended version of it to Deadline in several different ways, depending on whether you want to run it from inside Maya or from an external application.

Submitting a simulation from Deadline Monitor

You can run a simulation in a saved Maya scene using several different approaches. Using the Deadline Monitor application, you can create a Maya Submission. To do this, you need to enable the Submit a Maya Script Job option and select the MEL or Python Script file respectively:

 

 

 

The following sample Python code was used to select all the objects in the scene, filter out the Phoenix Simulators, and run them:  

Phoenix_Sim.py
import maya.cmds as cmds
import phxfd
cmds.select( all=True )

allObjects = cmds.ls(type='PhoenixFDSimulator')
for obj in allObjects:
 phxfd.batch(obj)

 

Alternatively if you want to continue an already existing simulation from a specific frame you can use the following code (where 15 is the frame where the simulation will restore from):

Phoenix_RestoreSim.py
import maya.cmds as cmds
import phxfd
cmds.select( all=True )

allObjects = cmds.ls(type='PhoenixFDSimulator')
for obj in allObjects:
 phxfd.batchr(obj, 15)

 

Setting up a Simulation without GUI using Command Line and Backburner


Submitting a simulation from the command line

You can also run a simulation that uses only a Simulation license and doesn't require a Chaos Phoenix GUI or Maya GUI licenses via command line.  

You need to execute the following command line in order to start the simulation:

"C:\Program Files\Autodesk\Maya2020\bin\Render.exe" -r vray -preRender "phxfdBatchSim(\"PhoenixFDSimulator1\")" -noRender "BatchPhoenix.ma"


You should replace PhoenixFDSimulator1 with the actual name of the simulator in your scene, and BatchPhoenix.ma with the path to your Maya scene file that contains your Phoenix setup.

Running this command will simulate the scene without rendering as the -noRender flag is used.

Submitting a simulation via Backburner

In order to run simulations over the network you will need Backburner. You can have only one version of Backburner installed at a time, and it needs to match the version of Maya that you will use to run the simulation, e.g. Backburner 2016 will work only with Maya 2016.

You can send the simulation over the network to another machine that runs a Backburner Sever and a Backburner Manager by using the integrated Backburner Job Submission in Maya which can be found under the Render Menu > Create Backburner Job.

Note that when submitting to Backburner, you should submit only one frame - for example, set both Start Frame and End Frame to 1. Otherwise Backburner will run the whole simulation range for each frame, overwriting the existing caches.

 

 

 

In the Additional options tab you need to add the following code:

-preRender \"phxfdBatchSim \\\\\\\"PhoenixFDSimulator1\\\\\\\"\"

You should replace PhoenixFDSimulator1 with the actual name of the simulator in your scene.

 

If you want to Restore a simulation instead, you could use this code:

-preRender \"phxfdBatchRestore \\\\\\\"PhoenixFDSimulator1\\\\\\\" 5\"

You should replace PhoenixFDSimulator1 with the actual name of the simulator in your scene, and 5 with the frame you would like to Restore from.