Hello,

I solve problems of identifying forces on the surface, which are results in 
displacements (measured) on some other surface. This technique is used in cell 
engineering where we can observe the movement of dots through transparent gels. 
That is unknown to us is tractions on the surface and stresses in the body.

The body is composed of two materials, which two orders difference in stiffness.

We constructed problem which gives the stable solution, works great with direct 
solvers like mumps or superlu_dist, however, we have the problem with 
scalability, for a larger number of processors and DOFs (>1m).

The general system which we solving looks like this,
[ K K K 0 ][u]=[0]
[ K K K C ][u]=[0]
[ K K K 0 ][u]=[0]
[ 0 0 B 0 ][L]=[0]

I am trying to use PCFIELDSPLIT however I have the problem which the best mix 
of preconditioners and set-up. I can converge for a very small problem, but 
overall efficiency is far from perfect.  Note that matrices C, B are small 
compared to the block of K matrices. Block of  K matrices is positive define 
and symmetric. Note that [0 0 B]*[ 0 C 0]^T = 0.

Anyone have any advise what I can do with this.

The full code can bee seen here
http://mofem.eng.gla.ac.uk/mofem/html/cell__forces_8cpp.html

Kind regards
Lukasz

Reply via email to