Hello Yves,

Thanks for your quick answer.

Adapting the residuum at each iteration step is very interesting and I 
will try to implement this in my code.

However, my problem is still, to determine/calculate the maximum allowed 
residuum depending on my model.

At the moment I follow the theory, that the maximum allowed residuum 
max_res is calculated with respect to the external forces:

If external_forces > 1e-5 * 1000
       max_res = external_forces / 1000 
else
       max_res = 1e-5
end

I base my theory on observations in ansys. Am I right with my theory? Or 
is there even another (maybe easier) way to get a plausible max_res out of 
GetFEM?

Best regards, 

Moritz Jena



Von:    Yves Renard <[email protected]>
An:     Moritz Jena <[email protected]>
Kopie:  getfem-users <[email protected]>
Datum:  08.05.2019 17:11
Betreff:        Re: [Getfem-users] Maximum allowed residuum





Dear Jena,

Unfortunately, from the interface you cannot adjust the maximum residual 
and change it from a Newton sub-iteration to another. The only mean I see 
from the interface is to call for only one Newton iteration each time, 
then change the maximum residual from a call to another and loop until the 
convergence criterium is not reached.

Best Regards,

Yves

----- Mail original -----
De: "Moritz Jena" <[email protected]>
À: "getfem-users" <[email protected]>
Envoyé: Mardi 7 Mai 2019 16:23:00
Objet: [Getfem-users] Maximum allowed residuum

Dear GetFEM-Users,

I have written a FEM program, with which you can calculate technical 
springs numerically. 
Therefore I'm using the GetFEM-MATLAB-Interface 4.3 

These calculations are highly non-linear due to self-contact issues and 
large deformations.
That is the reason why technical springs have to be solved iteratively in 
several substeps.

The calculation by itself works very well. But I think I have a problem 
with the maximum allowed residuum that is passed to the solve command of 
getfem.
My theory is that the maximum allowed residuum has to be variable during 
the different substeps. 
By investigating these question online I found a paper of an university in 

Germany that contains the following for a equation system of 
A*x=b : ||delta_x||/||x|| <= Cond(A) * ||delta_b||/||b||
Unfortunatley these expression is not leading to plausible results. 

I'm also familiar using ansys. By using this commercial software I know 
that the maximum allowed residuum is changing by each iteration and by 
each substep.

All of the delivered getfem examples are using a constant maximum allowed 
residuum, no matter of high deformation or not.

So my question is, how am I able to find the maximum allowed residuum and 
by what expression? And do I have to define a variable maximum allowed 
residuum during the substeps to get reliable results out of the solve 
command?
 
Best regards,

Moritz Jena


Reply via email to