getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-users] Re: [bug #7877] Problem with Mooney-Rivlin


From: Yves Renard
Subject: [Getfem-users] Re: [bug #7877] Problem with Mooney-Rivlin
Date: Wed, 29 Nov 2006 11:07:18 +0100
User-agent: KMail/1.7.2

Le Mardi 28 Novembre 2006 21:51, nessumo a écrit :
> URL:
>   <http://gna.org/bugs/?7877>
>
>                  Summary: Problem with Mooney-Rivlin
>                  Project: Getfem
>             Submitted by: nessumo
>             Submitted on: mardi 28.11.2006 à 20:51
>                 Category: None
>                 Severity: 3 - Normal
>                 Priority: 5 - Normal
>                   Status: None
>                  Privacy: Public
>              Assigned to: None
>         Originator Email:
>              Open/Closed: Open
>          Discussion Lock: Any
>
>     _______________________________________________________
>
> Details:
>
> Hi,
>
> I've got a very simple file using GetFem with Mooney-Rivlin law and large
> strain incompressibility.
>
> It seems to work well with a rough mesh, but when I try to refine the mesh,
> I've got the following message:
> Level 2 Warning in /usr/local/include/gmm_precond_ilu.h, line 138: pivot
> 59429 is too small
>
> And the program do not converge.
>
> Please help! (I've joined the file).
>
>


Hi, 
 


In fact, what you point out is not really a bug of Getfem. 
 You try to solve a problem with more than 50000 degrees of 
 freedom in 3D with an incompressibility condition. Unfortunately, the 
standard_solve proposed in getfem_model_solvers.h is not adapted to all 
cases. 
 In 3D, for less than 15000 dofs, the selected linear solver is Superlu for 
which a version is proposed with Getfem++ distribution. Unfortunately, for 
more than 15000 dofs and full 3D problems (this is not the case for 2D 
problems), Superlu often takes a lot of time to solve the system (but you can 
try it). Thus, standard_solve switches to gmres solver with an ilu 
 preconditionner (see default_linear_solver(pb) in getfem_model_solvers.h). 
Unfortunately again, this kind of preconditionner is not well adapted to 
"augmented" problems where a large number of multipliers is used (this is the 
case here, because the pression is introduced as a multiplier). You can try 
ilutp but it is usually very slow. 
 Thus, in this case, I would suggest you to rewrite your own solver, taking 
standard_solve as a model and trying different solvers. 
 One suggestion is that you can try to install MUMPS. It is interfaced in 
Getfem and gives better results than Superlu in the 3D cases. 
 


I observed also in your program that Gmres did more or less converge despite 
the bad computed ilu preconditionner. So, In your case, it is possible that 
the Newton is not convergent because you start too far from the solution. You 
can try to put you load progressively (similarly as in the test program of 
Getfem). 
 


It would be interesting to post a message to the Getfem user list if you find 
a solution to solve your problem. 

Yves.

-------------------------------------------------------------------------
  Yves Renard (address@hidden)       tel : (33) 04.72.43.80.11
  Pole de Mathematiques, INSA de Lyon          fax : (33) 04.72.43.85.29
  Institut Camille Jordan - CNRS UMR 5208
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard
-------------------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]