catchyid Posted December 28, 2016 Share Posted December 28, 2016 Hi guys, I have been testing SOP Fluid Source that is configured as sink,pump and expand. Sometimes I get "good" results and sometimes I don't. I am not sure exactly what I am doing wrong?! Does anyone have examples on how to configure use these fluid sources in pyro simulation? The kind of problems I am having are similar to this: -although I am using sink, smoke still passes through the volume! I managed to increase the absorption amount by scaling Source Volume DOP (scalar volume velocity) -in a small example, expands pushes away smoke, in another example it does not. Does expand use surface normals to determine the direction in which to push smoke (but it's actually a volume, so normals exist!) Thanks, merry Christmas and happy new year everyone Quote Link to comment Share on other sites More sharing options...
Atom Posted December 28, 2016 Share Posted December 28, 2016 (edited) Quote although I am using sink, smoke still passes through the volume! You may need to enforce the boundary for the heat field. Check out this thread. Edited December 28, 2016 by Atom 1 Quote Link to comment Share on other sites More sharing options...
catchyid Posted December 30, 2016 Author Share Posted December 30, 2016 Thanks for the link Atom on the collision problem if someone knows the internals/examples of pump/expand, pls let me know to be more specific, what direction do pump/expand use to add velocity, is it object normal for example? Quote Link to comment Share on other sites More sharing options...
bunker Posted January 2, 2017 Share Posted January 2, 2017 (edited) not sure how the source volume work for this, but it's an OTL so you can check the inside... for sink/pump/expand operations I normally use a "Gas Field Wrangle" microsolvers. if you set your "input 1" to a SOP path with a volume then: // load volume float vs = volumesample(0,0,@P); // expand f@divergence += vs * chf("expand_amount"); // sink f@density *= clamp(1-vs,0,1); of course you'd need to adjust the volume values if you're using an SDF/surface field for pump, you'd need to load 3 volumes since it's velocity: float vx = volumesample(0,0,@P); float vy = volumesample(0,1,@P); float vz = volumesample(0,2,@P); vector v = set(vx,vy,vz); v@vel += v * chf("velocity_scale); Edited January 2, 2017 by bunker 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.