Time step | dt | Time step per engine iteration | Number |
Sub Steps | SubSteps | Number of sub-steps in each time step. Collision detection is performed per sub-step. Therefore many sub-steps are slow but more reliable. | Integer |
NumIterations | NumIt | Number of iterations to be performed per sub step. A higher value ensures accurate computation at the cost of speed. | Integer |
Scene Mode | sMode | Define how FlexHopper reacts to changes in your scenes:
0 - Update existing scene: stiffnesses, anchor positions, and inflation pressures are updated. No new particles can be added to the scene.
1 - Append scene: New particles are added whenever scene constructors are updated (good for fountains or whenever you want to add new particles)
3 - Lock Mode: No changes in scenes are considered at all. This is the fastest mode, but doesn't allow much interaction during runtime. | Integer |
Fixed Number of Iteration | fIter | When positive, the solver will perform the supplied number of calculation cycles, before outputting. Useful, when you don't need to see the system converge, but want only one output after n iterations. Also faster, than normal mode. CAUTION: This might take a while to compute. | Integer |
Memory Requirements | memQ | Flex needs to reserve memory on GPU and RAM for your simulation. By telling the engine up front how detailed your simulation will be, you can avoid using excessive amounts of memory, or request more memory for big scenes. Normally default vals should be fine. Supply a list containing:
[0] max nr. of particles (default 131072)
[1] max nr. of neighbors per particle (default: 96)
[2] max nr. of collision body entries (default: 65536)
[3] max nr. of mesh vertices in collision meshes (default: 65536)
[4] max nr. of mesh faces in collision meshes (default: 65536)
[5] max nr. of mesh faces in convex meshes (default: 65536)
[6] max nr. of rigid bodies (default: 65536)
[7] max nr. of springs (default: 196608)
[8] max nr. of cloth triangles (default: 131072)
IMPORTANT NOTE: For input nr. [2] max nr. of collision body entries: This is not the number of collision objects but the number of memory entries the engine needs to make per collision objects. Planes require 0 entries, spheres require 1 entry, boxes require 3 entries, meshes and convex meshes require 4 entries.
So if you have a scene of 5 planes, 1000 spheres, 100 boxes and 10 meshes, you should set this value to 5*0 + 1000*1 + 100*3 + 10*4 | Integer |
Stability Scale | stabS | Due to some instability issues, particle systems of very large x,y,z values (e.g. when working in millimeter scale), sometimes drift sideways without any reason. Stability scale helps resolving this issue. It simply scales the x,y,z-values of your entire scene before it enters the engine and scales them back again afterwards. If objects in your scene start to drift and you have very large or very small x,y,z values, apply this scaling factor, so you have x,y,z values in the approximate range of -10 to 10. Parameter values like radius or collision margins are scaled automatically too, so you don't have to adjust them yourself. | Number |