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


Iterations and Subdivisions - what do they mean and when should I crank them up? 5 years 2 months ago #81

  • admin
  • admin's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • Posts: 207
  • Thank you received: 28
We get quite a few questions like the one below - and so let us try and explain this in a bit more depth.

"I'm a little confused by this as the difference with increased steps on the simulation is huge and a bit unexpected to me. Do you have any rule of thumb for these? So far I don't understand why these have such a huge impact."

So, think of it like this - you are asking Carbon to solve a problem.
Carbon is using an iterative solver, which means that what you see is not the final perfect mathematical solution, but the result of performing a certain number of iterations towards that solution. The number of iterations is therefore telling Carbon how much work you want it to do to work towards the solution. Some problems are really hard to solve and would take an incredibly long time to solve, so with an iterative solver, you can control how long you want the solver to work on the problem during each subdivision. If the problem is hard to solve (for example: large number of triangles and/or high stiffness values), you need to give the solver more iterations to get closer to the solution, and without more iterations, you may not see any change in the simulation result when you increase the simulation parameter values such as stiffness.

I think a good rule of thumb is;
• start with 10 iterations and 10 subdivisions (that's 10 iterations per subdivision and 10 subdivisions per frame = 100 iterations per frame)
• if you have a fast-moving object you may need more subdivisions maybe up to 50 subdivisions, with a thin cloth, to avoid interpenetration of objects (subdivisions determine how often the collision is tested per frame).
• now once you have solved any collision issues, if you increase the simulation parameter values and it seems to be having no effect on the simulation result, then you should try more iterations, maybe double the number.
• to increase the number of iterations per frame, you can either increase the subdivisions further (up to 200 per frame @ 24Hz) which is the preferred approach as its most effective, and -
• if you reach 200 subdivisions and you need more iterations, then crank up the iterations..
The reason we don't just use a large number of iterations by default is because of the performance cost and also sometimes you don't want Carbon to try too hard to solve the problem, because you have given it an unsolvable problem and it will blow up if it tries too hard. Hence sometimes when you crank up the iterations your simulation will fail.

You can see subdivisions being used to resolve collision issues (aerodynamics video) and increased iterations being used to solve a harder (stiff) problem in a couple of new videos this page -
They were created in Maya, but are also 100% relevant to working in Houdini as well.

One final aspect to bear in mind - more subdivisions increase the sampling rate of your simulation, so the more subdivisions the more high frequency motion you are going to capture (200 subdivisions per frame at 24hz is a 4800hz sampling rate.) - that may or may not be what you want. In practice the sim will tend to look more lively with more subdivisions.

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

Last edit: by admin.
  • Page:
  • 1
Time to create page: 0.069 seconds