-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
change composite vep to log iteration #5337
Conversation
/rebuild |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bobmyhill - Nice, the way you designed the composite model made this a really straightforward optimization!
Question - would there be further performance improvements by implementing the same changes as in #5227 when calculating the derivatives for additional rheology mechanisms, or is just a modification to the iteration over all the mechanisms (as done here) that will likely provide the significant improvement?
This PR looks largely good to after the testers finish and we see what changes. Thanks!
@bobmyhill, I agree with @bobmyhill , this is really neat solution. |
Ok, the problem here is with the (damped) Drucker-Prager, where With a damped plastic element there is always a unique stress for any given strain rate, but a naive Newton scheme without line search is going to struggle to find it. Not sure what the best solution is to this problem. Line search (e.g. using SUNDIALS) would certainly help. Maybe there's another option. |
9064c53
to
1b11d2d
Compare
@bangerth ... KINSOL's linesearch solves this problem, but those almost-duplicated calls (the numerical derivatives) are still there, so it takes about double the number of function calls in the material model. |
Improved implementation at #5978 |
This PR changes the iterative scheme for the composite viscoplastic rheology to use the log stress and strain rate.
This should be a more linear system and therefore be more efficient.