[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
-------------------------------------------------------------------------
- [Getfem-users] Re: [bug #7877] Problem with Mooney-Rivlin,
Yves Renard <=