In some rare cases, dividing a fumeFX grid into separate parts can help create a bigger simulation area. This entry will discuss a script called the FumeFX Partitioner to tackle this task.
current version as of 2012-may-11 is 0.11
last working version as of 2010-feb-11 is 0.10
This script will divide a FumeFX Grid into partitions. The script is divided into two parts, one for partitioning, and one for simulating the partitions.
Pick FumeFX Grid – Select a FumeFx grid that you wish to divide into parts.
Holding down the ALT button will select whatever FumeFX Grid object you’ve selected.
Holding down CTRL will clear the selected item and delete it’s corresponding Preview Objects and Layers from the scene.
Grid Count – Shows the number of grids that the script will generate. (X*Y*Z)
Length/Width/Height (X/Y/Z) – Set the number of partitions on all 3 axes.
Overlap – This is the overlapping space between the partitions. 1 unit of overlap equals the spacing size of the picked grid.
G – The overlap size would be based on the Grid Spacing.
Display Preview – Displays a preview (in the form of frozen box objects) of the partition settings in the viewports.
Create Layers – Will create a separate Layer for the generated grids.
Create Selection Set – Will create a Selection Set for the generated grids.
Pick Folder Path – Choose a base folder path on where to store the FXD cache files.
Hold ALT to open the chosen path in an explorer window.
Create Partition – This will generate the partitions using your settings above. The created partitions will then be automatically added to the Simulation FumeFX List.
X – This will simple delete the generated partitions.
FumeFX List – This is where items (FumeFX Grids) for simulation is placed and arranged. You may Double-Click on the item to select it on the viewport.
+/- -Add or remove selected items from the list.
Up/Down – Move selected items in the list. You can select multiple items to move around.
Network Simulation – Turn this ON to send separate partition jobs to Backburner.
This method uses the command line method of submission (3dsmaxcmd.exe).
Manager Name – Set the manager name to send jobs to.
Initially Suspended – Sends the jobs as suspended. It is recommended that you set this to ON, because there’s no way to assign servers using the command line. You must assign the servers for the jobs using the Backburner Manager.
Priority – The priority of the job as it is queued by the manager.
Platform – switch between 32bit or 64bit servers.
Simulate Locally – This will simulate the FumeFX Grids on your local machine, it will follow the FumeFX List as the sequence starting from the top. It will also print out a summary of simulation time in the listener after it has finished everything.
This button is visible if you have Network Simulation Turned OFF.
Send Simulation – Send each partition to Backburner as separate jobs. A command prompt window showing each file getting sent will appear.
This button is visible if you have Network Simulation Turned ON.
* More notes on Send Simulation at the bottom. *
Some Use Cases:
* Cases shown here were all done on a 32bit machine, 2Gig ram (3Gig switch ON) *
Case A: Thin Trails
100x100x100 @ 0.2 (500x500x500)
4x4x4 Parts | 64 FumeFX Grids
29x29x29 @ 0.2 (145x145x145)
Case B: Straigh Trails
100x1000x100 @ 0.45 (222x2222x222)
1x15x1 Parts | 15 FumeFX Grids
109×75.667×109 @ 0.45 (242x168x242)
Don’t Use Cases:
Case C: Buoyant Fluids – data won’t transfer well to neighboring grids.
Case D: Turbulent Grids – notice the obvious separation.
Use Container Edges Falloff – This helps smooth out the overlapping edges of the grids, slightly eliminating the separation visible n Fig A below.
- Use this method on scenes with low or zero fluid motion.
- Avoid having a smoke that would travel to a neighboring grid because of turbulence/gravity/bouyancy.
- 32bit machines will be able to better handle the sim because of partitioning.
- Can be simply used as a Batch Simulation tool.
Notes on Sending Sim to Backburner:
*** I haven’t fully tested the Network Sim feature, I might rewrite the way it sends jobs to the server, use with caution ***
– After pressing Send Simulation, the script will save out multiple max files (set to simulate a single grid partition) on to a temporary location.
– Then a batch window will appear utilizing 3dsmaxcmd.exe to send max files as jobs on to the specified server.
– The strange thing is, the jobs would use ALL SERVERS by default, so it is recommended that send the files as Suspended. Assign the servers yourself from Backburner.