User login


You are here

solver for a very hetereogeneous system of equations

phunguyen's picture

Hello everybody,

I am solving a FE problem on a hetereogeneous medium consisting of rigid phase (Young modulus of about 100 000 N/mm2), a softer phase (Young modulus of 20 000 N/mm2) and pore (Young modulus of 1 N/mm2). The reason that I have to mesh the pore is that there are some elements of rigid phase hanging out in the pores. So, if I do not mesh the pore, then my FE matrix is singular. 

The resulting discrete system of equation is typically of 50 000 times 50 000 dimension (17 000 nodes, three dofs per node). To speed up the calculation, I have tried to use iterative solvers. To be more precise, I have used the GMRES (Generalized Minimal Residual) and AGMRES with preconditionners  like incomplete LU. Unfortunately, the performance of these iteratives solvers (which to my limited knowledge, one of the best iterative solvers) is very bad. Normally, they need about 2000 iterations to get solution of precision of only 1e-05.

I solved this problem by using direct solver like SparseLU but it is just a temporary solution. 

 My question is that if there is any solver suitable to this very hetereogeneous system of equation?

I would much appreaciate any reply.




Alejandro Ortiz-Bernardin's picture

Hello Phu,

I think TAUCS can be used for your problem on hand. Please check this post where I have provided some links. TAUCS has direct and iterative solvers. I haven't tried iterative solvers implemented in TAUCS so I can't tell you how good they work.



1. Dear Phu,

I did not understand this part:

"...The reason that I have to mesh the pore is that there are some elements of rigid phase hanging out in the pores. So, if I do not mesh the pore, then my FE matrix is singular...]

1.1 Do you mean to say that there are some loose particles of the rigid phase just lying around in the pores? That is to say, are these particles not even partly embedded into the surrounding soft matrix (to any significant extent)?

And, if they are not loose, how can the pore portion have such a low stiffness?[Indeed, why the value of 1 N/mm^2? Wherefrom? ... Looks like it's just an assumption, right? I mean, it could be perfectly reasonable, but I was just wondering... ]

1.2 The way I understand it, if you do not include pores in your mesh, then you would simply be modeling a different kind of material---one that is contiguous, and one that is other than the material you are aiming to model. But, still, I fail to see how a change of material by itself might affect whether the FE matrix becomes singular (after applying BCs) or not... 


2. Dear Alejandro, 

I think the basic problem that Phu has run into is not numerical speed or accuracy (this library vs. that) really speaking, but the 10^4 orders of magnitude difference between the pore phase and the (soft) matrix material. ...(In comparison, the soft and the hard phases are almost similarly stiff---only a 5 times difference, not orders.)

So, some parts of his global stiffness matrix are going to be very very stiff, and others, very very pliant (right word? I mean elastic deformation)...

So, what this problem really becomes like is: something like the well known penalty approach of incorporating BCs but in a reverse/inverse sort of way...

That I believe is the crux of the issue.

If I am correct in so characterizing the problem, then, I am afraid that: (i) perhaps, none might have any good (i.e. general) solution for it, (ii) any library would be just as good or bad as any other.

Also in such a case, I would love to hear from the researchers working in the FEM field proper how they would work around this kind of a problem... That is, provided that I am at all in getting the problem right ... Corrections welcome!

phunguyen's picture

Dear Ajit,

Concerning your first question, sorry for not well stating the problem.  There  are three materials in my problem, let denote them by mat1, mat2 and the rest is pore. There are some elements of mat2 embedded in  the pore and are not connected to other elements. So, if I do not mesh the pore, I then have a singular matrix since those mat2 elements can move in rigid body modes. Since meshing the pore is only a numerical trick to render my problem well posed, I have to reduce as much as possible its influence on the behavior of the system, so I chose to use an elastic material of unit Young modulus to model the pore. 

Hope that it has answered your first question.

Your second analysis is absolutely correct. Since there is a huge contrast in the Young moduli, the iterative solvers do not perform well although I have used very good solvers (AGMRES) which for standard problems, work extremely well.



 I have been following this discussion but I still can't grasp the concept of your problem - you have parts of material that are not connected to other material, therefore as I see it it is physically correct for the material to perform rigid body movements. Or am I missing something?

Subscribe to Comments for "solver for a very hetereogeneous system of equations"

Recent comments

More comments


Subscribe to Syndicate