Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1


Please can you explain further about Carbon Subdivisions and Iterations? 2 months 2 weeks ago #592

  • admin
  • admin's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • Posts: 157
  • Thank you received: 20
As a first frame of reference, we would point you to a documentation page for this:
The information is the same for Carbon for Houdini and Maya. The underlying engine is identical.

There is also more info in this Carbon forum, if you search for iterations you will find some relevant posts such as this one

Expanding a bit more on the reference documentation:
Subdivisions are the number of solver updates per frame. So if your frame time step is 1/24 of a second and you use 10 subdivisions, then the frame update will perform 10 solver calls with a time substep of 1/240 of a second. Subdivisions are very important when cloth elements are tiny, when objects move fast or constraints are very stiff for collision reasons and for frequency sampling reasons. When triangles are tiny and objects are moving fast, then if a triangle moves 10 to 20 times its size in a frame, then the collision detection contacts generated can't be accurate. Now if you subdivide the time by 20 then at the same velocity, objects move only 0.5 to 1 times their size per substep and contacts can be more accurately generated by continuous collision detection. You also need subdivisions to handle high stiffness. If you consider the simple example of a stiff spring, the stiffer it is the higher its oscillation frequency. If your time step is too small, then you can't accurately sample the sine waves of the oscillator and thus you can't simulate the spring. So in short, subdivisions increase your simulation accuracy. But the more subdivision you use, the more collision detections and carbon solver substeps you execute.

Iterations are about solver convergence, so iterations only affect the solve stages and not the collision detection. Roughly, the more iterations you use, the closer you get to a solution. But the efficiency of your iterations decrease as you get closer and closer to a solution to your problem. The more iterations you use, the longer the solve processes take.
If in a simulation you use 20 subdivisions and 10 iterations, this means that you will execute collision detection 20 times and you will execute a constraints solve also 20 times with 10 iterations for a total of 200 iterations per frame. You can see that substeps and iterations have a multiplier effect on the constraints solver duration.

Please Log in or Create an account to join the conversation.

Last edit: by Sebastian.
  • Page:
  • 1
Time to create page: 0.070 seconds