Jump to content
ColecloughGeorge

Seeking Solver Writing Advice

Recommended Posts

Hello there I am just getting into solver writing.

I am self taught and as such I have a fair few holes in my knowledge

I aim to build a material point method solver for use in a mud flow effect such as this: https://www.youtube.com/watch?time_continue=42&v=jjeCDYvGJS8

To get to grips with a basic solvers I have built a mass, spring cloth solver: https://vimeo.com/343112353. However there are a few things I've come across that I can't find solutions to.

Every timestep I am accumulating a force vector on each point and then I find the acceleration using a=f/m. I find the velocity v=v0+a*@TimeInc. And I find the displacement using r=r0+v*@TimeInc.

This works quite nicely however I can't shake the feeling that the equations are completely wrong. Everywhere I look they mention using integration in order to find the displacement but it seems like a linear equation to me. Is this wrong and if so what should I be doing?

I would also like to know what the gas integrator node does internally as I find it a bit of a black box.

Many thanks

George Coleclough

Share this post


Link to post
Share on other sites
18 hours ago, ColecloughGeorge said:

I would also like to know what the gas integrator node does internally as I find it a bit of a black box.

while it is a black box, you can at least estimate what it is doing depending on the simulation method set on the node: Euler, Midpoint, RK, ...

so if you research those simulation/integration methods, you may get a better idea what's going on

various game dev articles are a good source of such knowledge

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I am not great at maths, but isnt 'accumulating' values in a solver node simply euler integration? Since your r depends on v and v depends on a which you are accumulationg, I'd say you are already using an integral to find the displacement. I'd love if someone confident in this matter could verify this.

Edited by nuki
  • Like 1

Share this post


Link to post
Share on other sites
10 hours ago, anim said:

while it is a black box, you can at least estimate what it is doing depending on the simulation method set on the node: Euler, Midpoint, RK, ...

so if you research those simulation/integration methods, you may get a better idea what's going on

various game dev articles are a good source of such knowledge

 

Thanks, I agree, I definitely need more research into integration methods, I'm following a few courses on youtube. Ill have a look at the articles.

7 hours ago, nuki said:

I am not great at maths, but isnt 'accumulating' values in a solver node simply euler integration? Since your r depends on v and v depends on a which you are accumulationg, I'd say you are already using an integral to find the displacement. I'd love if someone confident in this matter could verify this.

Thanks. I'm not confident in this topic myself, I always thought the result of integration was a function but I may be mixing it up with derivatives. In the pop solver in houdini they calculate the velocity in a similar manner but within the substep they use the gas integrator node I believe to calculate the displacement however I assume this would just be r=r0+(V*@TimeInc).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×