Pyro | substeps, CFL and colliders

   133   2   1
User Avatar
33 posts
Joined: June 2009

I build this scene to understand the difference between DOP Network substeps and CFL substeps in the case of a collider.

I use 8 substeps for DOP and 8 for CFL min and max substeps (to force using 8 substeps)
My collider is animated with bezier, so geometry is available on subframes

With the DOP substeps, the collider is available every substeps
Whereas with the CFL substeps, it is not. It is only available on the integer frames.

Does anyone know why?
Is there a way to force collider/source evaluation on substeps when using the CFL?

Image Not Found

PYRO__substeps_cfl_and_collisions.hipnc (1.1 MB)

User Avatar
3787 posts
Joined: July 2007
1. DOP level substeps allow you more granular output from the DOP sim, so essentially you are able to cache every single substep
2. all additional per-solver substeps are used to compute the data, but the data is output only for each DOPnet level substep, so you can't really see individual steps taken and the individual results

so in other words what you see as an output at the fractional frames doesn't correspond to the actual data at that timestep unless it corresponds to DOPnet level step
additionally DOPnet has Interpolate Display data on by default which can be really confusing and I advise to turn it off all the time if you intend to look at the raw DOPnet output
turning that off, you will see the actual DOPnet output, but still only on DOPnet substep granularity, however your collisions should be correctly evaluated at the fractional times even when using only pyrosolver1 substeps
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
33 posts
Joined: June 2009
Thanks Tamte!
Your message clarifies a few things for me.

Yes when I uncheck the Interpolate Display Data the collider is displayed on substeps
From the help, this means that it displays the collider data from the “closest simulation timestep”, which means the integer frame, at least in my case.

That’s more or less my problem then.
I have problems with collisions (smoke going through the collider) in my smoke simulation, and I wanted to check what collision data is actually seen by the solver, not the data that it gets fed with (which you can see on the static object, or the source object, depending the method you use).
I can’t post the original file because it’s sensitive (and the geometry is too big anyway) which is why I built this scene.

however your collisions should be correctly evaluated
that’s what I need to be sure of and if it is evaluating correctly, then I am hoping this would point me to the origin of my problem

Maybe there is another way to check the collider actually seen by the solver on each substep, without using DOPnet substeps?
  • Quick Links