Hello again Robert,
I'm finally coming back around to this project.
I see that using a time stepper with gradual load increase is the way to go for a very large deformation solution; is there a recommended way to go about this in sfepy? Is there a way to implement an increasing variable into the built-in time solver, or is it better to run the simulation in a python loop and modify the inputs manually?
I am also not clear on whether the original mesh is suitable for every time step or if it will need to be updated.
And yes, I think this would certainly be an interesting test when it's completed, especially if we can compare to known analytical solutions.
Thanks for your help!
On 02/23/2013 06:13 AM, Robert Cimrman wrote:
On 02/22/2013 06:40 PM, David Mashburn wrote:
Thanks Robert, that already helps a lot. Glad to know it is a non-trivial question.
We are actually trying to cross-check some analytical solutions, so I would like to get this to work at least to some degree of confidence.
Do you think that those would be a good tests to add to sfepy test suite?
I've tried swapping out a simple neohookean system with bulk penalty and all that like in the example. A warp violation seems to be causing an exception after one iteration with a nominal amount of stress.
I've been digging through the nonlinear solver's parameters and can't find a way to shrink the initial step size. The other work-around I can think of is to use a time stepper to gradually increase the stress. Is there another/easier way to do this?
Yes, this is the way to do it - use time stepping to increase the load gradually. I am not aware of other ways. In nonlinear analysis with the Newton solver, a good initial guess is required.
Ok, that makes sense now.
Also, is it normal for a system with a fairly large deformation to throw a warp violation and then still recover afterwards (if so, then maybe this exception is a bug?)
How does it recover? I assume it just throws off the warped solution and the nonlinear iteration does not converge, right?