Community
Bifrost Forum
Welcome to the Bifrost Forum. This is the place for artists using Bifrost to ask and answer questions, browse popular topics, and share knowledge about creating effects procedurally using Bifrost. You can also visit the Bifrost Community on AREA to download an array of ready-to-use graphs, read Bifrost news and updates, and find the latest tutorials.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPM Time Step

3 REPLIES 3
SOLVED
Reply
Message 1 of 4
calibrix
374 Views, 3 Replies

MPM Time Step

Hi,

I have a question for clarification on the MPM Time Step parameter. To quote from the documentation: "A scaling factor for the default time step, which is determined by the simulate_mpm compound based on various criteria."

First what is the "default time step". Does that just refer to the frame length in seconds? Second: What is the "various criteria" that determins the time step? I understand generally the larger time steps simulate faster and smaller time steps are more accurate. But I would like to know what the value of the time step parameter actually refers to. This is important as when I have a scene with moving colliders I need to be able to gauge how many substeps or time steps might be required to accurately resolve them.

 

It seems that time step is also linked to the max voxel movement. In the documentation it mentions that retrying a frame is more expensive than more sub steps. Is that because the entire frame is simulated with x substeps and if it fails it tries again, or does it just add more substeps? Does max voxel movement trigger a smaller time step size than the user inputs?

 

Thanks,

Chris

3 REPLIES 3
Message 2 of 4
calibrix
in reply to: calibrix

Hi again,

Bumping this for visibility and to add another question. Does the adaptive time step take into account a moving collider when deciding to increase sub steps or does it only look at particle motion?

 

Thanks,

Chris

Message 3 of 4
Grahame_Fuller
in reply to: calibrix

Hello,

 

The time step is the length of time between recalculations of the simulation. Typically, it is a fraction of the frame length. The default length of the time step is based on the speed of particles as well as the vibration speed, as compared to the voxel size.

 

If a particle moves too many voxel lengths in a single step, it's a sign that the simulation is becoming unstable. So if the solver tries a large time step and then finds that particles have moved farther than the max_voxel_movement, those calculations are wasted and it starts over with a smaller time step. If this situation is happening too often, it's a good idea to decrease the time_step_size so that the solver starts with a smaller step in the first place and doesn't need to restart as often. If you increased the max_voxel_movement instead, your simulation might not be realistic because particles are moving through colliders, or getting stuck inside them, etc.

 

I'll try to get back to you about your follow-up question.

 

I hope that helps,

gray

 

 

 


Grahame Fuller
Learning Content Developer
Message 4 of 4
Grahame_Fuller
in reply to: calibrix

Hi again,

 

I can confirm that, yes indeed, the solver takes into account the colliders' speeds when determining the default length of a time step.

 

Cheers,

gray


Grahame Fuller
Learning Content Developer

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators