Jump to content

Gas Repeat Solver DOP


DannioMaundinio

Recommended Posts

Hi!

 

I'm experimenting with the Gas Repeat Solver DOP and trying to use the SwitchValue data it gives to change some attributes upstream of it. I've attached a simple example to show.

 

In the example I expect to get three spheres sourced using only one sourceVolume DOP. I'm printing the attributes that are hooked up to the dopfield data, and the shell shows that the attributes are changing correctly... however the sourceVolume only seems to be acting on the first sphere. :(

 

Has anyone done this kind of thing before, am I missing something obvious that would stop this working? 

 

Cheers!

Dan

simpleExample_v001_t01.hip

  • Like 1
Link to comment
Share on other sites

It looks like a clever setup if it would work. I dont know what the Gas Repeat Solver does underneath, but it seems that it just takes the first input it gets and repeats that X times - even though the input might change afterward. Thats how I've used it before atleast.

 

The fact that the shell/console shows that it seems to work correctly might be misleading - in your SOP Solver you can merge in a Sphere that is translated by the current pass number. So you should get a sphere at 0,0,0/1,0,0/2,0,0 - however you won't get that, it will be at 0,0,0 everytime because that is the "first data" that the Repeat Solver gets and repeats.

 

Interestingly enough, if you put down a Gas Intermittent Solve before the Repeat Solver and set "Frames between solves" to something less than 1 - stuff do start to happen. That might be something you could look into. 

 

This is quite interesting so please update if you figure it out :)

  • Like 1
Link to comment
Share on other sites

This is great, thanks!

 

I'm a little wary of it because I don't really understand why it works.

 

The fact that it's doing extra substeps I figured is no problem as long as they are all sourced at the same time value... so I set these two expression on the timedelay and timeoffset parms, in order to offset the time back based on the repeat solver iteration number.

$TIMESTEP/<number of sources>
-ch("timedelay")*dopfield($DOPNET, $OBJID, "SolverParms/SolvePass", "Options", 0, "switch")

Hopefully by doing that they'll all be sourced at the exact same time value, despite being in different substeps.

 

Something else I noticed that seems odd is that it only does the first iteration of the repeat solver if 'solve on creation frame' is on, and the smoke object is being created on the first frame of the sim. 

 

Thanks for your help!

Dan

Link to comment
Share on other sites

  • 3 months later...
  • 2 years later...

Is there a way to have part of a gas repeat network solve every Nth pass without doing nested gas repeats? I've tried reading the solve pass data as an expression on an "enable solver" but it doesn't seem to be evaluating every pass but rather every simulation step. Anyone have a working approach for something like that?

 

Thanks

/Y

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...