Jump to content

Seeking Solver Writing Advice


Lucy Coleclough

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

Link to comment
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
Link to comment
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
Link to comment
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).

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...