On 08/14/2013 10:37 PM, Jed Brown wrote:
Umut Tabak <[email protected]> writes:

Dear all,

I am looking at a system where I am trying to investigate this
ill-conditioned problem with some iterative tricks or not. Namely, the
system that I try to solve is

(B - C^T A^{-1}C) x2 = b2

which results from block symmetric representation

A  C
C^T B
What physics do you have here?
Hi Jed,

'A' results from the discretization of structural field equations which is also ill-conditioned. More specifically, it is (Ks-a*Ms) where Ks and Ms are stiffness and mass matrices of the structural domain. However, 'B' results from the discretization of the Helmholtz operator for the fluid domain. It is also similarly represented as (Kf-a*Mf) as above.

Both CG and MINRES require an SPD preconditioner.  It sounds like B is a
poor approximation to the Schur complement S = B - C^T A^{-1} C.
Depending on your application area, there are a few classes of
preconditioners that you might consider.  These include the
least-squares commutator, physics-based approximate commutator,
SIMPLE(R), and DD and multigrid methods applied directly to the
indefinite problem.
Unfortunaltely, yes, even if I have the complete factor for B and even if C is a pretty sparse matrix, this is not a good preconditioner eventually, that is clear to me as well.

Before leaving these ideas, I am trying to convince myselft that this idea is not useful and cannot be improved further. But, as a poor engineer ;), I had the feeling that since the fluid part only includes one variable which is the pressure and the domain is homogeneous, I would expect some better ways to exist in order to solve this problem.

Since the domain is homogeneous, at least the fluid domain, and it is modelled with a scalar variable, I was thinking that scaling should not be a problem.

But, there is another important point, due to the modelling approach used Kf is a singular matrix with one zero eigenvalue(and this is always the case for a specific type of boundary condition which is the hard wall condition) and Mf is pretty well conditioned as a standalone matrix. The source of the problem is writing representing B as (Kf-a*Mf) or as (Kf/a-Mf) in the original block diagonal representation.

Can you figure out something more after these explanations? What would you suggest as a first try and, maybe, a couple of more?
Thanks,
Umut

Reply via email to