How can I solve steady-state problems? #226
-
Hi, I am looking at moving an existing computational model to a PyElastica implementation. Imagining a Forward-Euler integration, one might generate a normal solution like so: Of course, it requires quite unorthodox changes to the integrator code. I've just tried changing PyElastica to achieve this, but have gotten lost in the class definitions. Can anyone point me to where in PyElastica's integrators would be a good place for trying these changes? Thanks :) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Hi @Rufnacous In PyElastica we are using Position Verlet time integrator and if you want to see/hack in here is the time-stepper. do step method does one Position verlet time step. You can hack in and change the kinematic and dynamic stepper parts. But I think there is a fundamental problem. I don't think you can compute steady-state by just setting up velocities to zero, because then positions are not going to be updated at anytime. In order to update positions without updating velocities you will need an iterative solver. Let me know if this helps. |
Beta Was this translation helpful? Give feedback.
-
So I've written my integrator: `
` Overall it's very hacky, and is limited incredibly by the stiffness of PyElastica's equations compared to the stiffness of my previous implementation (which did not include shear deformations) so ultimately I am not sure I can use PyElastica for my particular problem. Thanks for the pointer @armantekinalp - I will mark this as closed if I can work out how. |
Beta Was this translation helpful? Give feedback.
Hi @Rufnacous
In PyElastica we are using Position Verlet time integrator and if you want to see/hack in here is the time-stepper. do step method does one Position verlet time step. You can hack in and change the kinematic and dynamic stepper parts.
But I think there is a fundamental problem. I don't think you can compute steady-state by just setting up velocities to zero, because then positions are not going to be updated at anytime. In order to update positions without updating velocities you will need an iterative solver.
Let me know if this helps.