# Using ArcLength method for my simulation

Me again with another problem :-)

Since I couldn't get the convergence in one of my simulations due to some problems which I couldn't identify, I decided to try the Arc length procedure in order to remedy the convergence problem. However, I have some problems regarding the Arc length procedure.

First of all, in my simulation, I have one hollow tube that goes under bending by prescribing the rotation of the extreme section through Lagrange multipliers in a separate element (the part that we discussed before in a separate post and I obtained many constructive feedbacks), thus there is nothing such as a load that is applied to the model. Now, the first question is this. Is it possible at all to use the Arc length procedure in this case or not?

I actually performed a simulation on my model using the arc length method but exactly at the same time step as the normal Newton-Raphson method the convergence failed. So I thought maybe I am not using the Arc length procedure correctly. The second question concerns the SMTAcrLengthSet[] option that I do not understand how to set it. In the documentation is not so clear what should be the value of "[Lambda]Target" in SMTArcLengthSet[]. So I put the final value of my load and as an output, it gave 0. Is it correct to give the final load value? Why it gives me zero as an output?

This is the part that I am using for my simulation:

smax = SMTArcLengthSet["\[Lambda]Target" -> 0.15]

M\[Phi] = {{0, 0}};

\[CapitalDelta]sMax = sMax/20;
s0 = sMax/100;
\[CapitalDelta]sMin = sMax/1000;

SMTNextStep["\[CapitalDelta]\[Gamma]" -> smax,
"t[\[Gamma]]" -> tf , "\[Lambda][\Gamma]" -> \[Lambda]f];

While[
While[step =
SMTConvergence[10^-10,
50, {"Adaptive \[Gamma]", 16, \[CapitalDelta]sMin, \[CapitalDelta]sMax, smax},
"Alternate" -> "Ignore"], SMTArcLengthIteration[];];
If[Not[step[]]
,
M0 = SMTResidual["X" == 0 &];
M1 = Max[Length /@ M0]; M2 = Select[M0, Length[#] == M1 &];
Mi = M2[[;; , 1]];
Zi = SMTNodeData[
Intersection[SMTFindNodes["X" == 0 &], SMTFindNodes["D"]],
"at"][[;; , 3]] +
SMTNodeData[
Intersection[SMTFindNodes["X" == 0 &], SMTFindNodes["D"]],
"X"][[;; , 3]];
M = -2*Mi.Zi;
\[Phi] = SMTRData["Multiplier"];
AppendTo[M\[Phi], {\[Phi], M}];
]
If[step[] === "MinBound",
SMTStatusReport[
"\[CapitalDelta]T<\!$$\*SubscriptBox[\(\[CapitalDelta]T$$, \
$$min$$]\)"];];
step[]
, If[step[], SMTStepBack[];, SMTArcLengthNext[];];
SMTNextStep["\[CapitalDelta]\[Gamma]" -> step[],
"t[\[Gamma]]" -> tf]
];


What I wish to have is to set a target BC multiplier and according to that run the analysis. But It cannot adjust gamma with load multiplier because the load multipliers are applied through Lagrange multipliers. Another thing is that what should be the function of the time and the multiplier in terms of gamma (t[\[Gamma]],\[Lambda][\Gamma])/.

• Oh no! It's you. Again. ;) But seriously: Would you mind to link the previous post you refer to? (Sorry, I cannot help you any further since I don't have AceGen/AceFEM.) – Henrik Schumacher Jun 16 '18 at 11:42
• Moreover, some details about your problem might also help (close vote is not from me btw). – Henrik Schumacher Jun 16 '18 at 11:49
• @HenrikSchumacher Thanks for your response. Actually, I am waiting for the AceGen/AceFEM users to come and discuss. By the way, this is the link to the previous post mathematica.stackexchange.com/questions/173395/… – KratosMath Jun 16 '18 at 11:53
• @MsenRezaee As always, it would be really beneficial if you could provide the whole (minimal) example, at least as a download link for a self contained notebook, like in this question. Then you can maybe get even some other improvements and ideas about your code. Unfortunately I have no experience with "Arc length" procedure to immediately see what is going on in your code. – Pinti Jun 18 '18 at 7:30