How to use arc-length method in MOOSE #29932
Unanswered
lcontinuum
asked this question in
Q&A Modules: Solid mechanics
Replies: 1 comment 5 replies
-
Hello The merge request @jedbrown mentioned is merged now. however from the error message the solver is expecting additional quantities to be set, so it will require a little bit of development. I expect you will need to tag the contribution of some kernels to the residual and set them as the RHS vector. This has to be done programmatically |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello,
I'm trying to figure out how to use the arc-length method within MOOSE. But I cannot find any example input file which uses this method.
The method is provided by PETSc as "Newton with Arc Length Continuation", SNESType: "SNESNEWTONAL", Options Name: "newtonal" and was quite recently added to PETSc.
As a toy example I want to solve a snap through problem with one truss element. See the picture below for the setup.
The (quasi-static) force-displacement curve of this problem looks like the blue curve in the graph below. In a force controlled setup ("FunctionNeumannBC") an arc-length method is necessary to follow the blue curve after the first maximum. If the usual Newton solver is used, then one gets the red dashed curve. At the first maximum the Newton solver "jumps" over the unloading path directly to the force-displacement curve after the snap through.
I tried in the input file to activate "Newton with Arc Length Continuation" by
But I get a lengthy error message which ends with
No tangent load function or rhs vector has been set
.My input file is
truss_2d_arc_length.i.txt
Any help appreciated.
lcontinuum
PS: A somewhat similar question is raised at [(https://github.com//discussions/24923)] but it end with a reference to a PETSc example
src/snes/tutorials/ex16.c
Beta Was this translation helpful? Give feedback.
All reactions