This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

solving elasticity equation with large jumps in coefficients

+1 vote

I'm trying to solve the elasticity equation on a domain consisting of two isotropic materials. When the Young's moduli of the materials differ by a factor of 1000 and I try to solve the problem on the mesh UnitCubeMesh(80, 80, 80), it says error: out of memory. I've tried different solvers, such as minres, but then I get

*** Error:   Unable to solve linear system using PETSc Krylov solver.
*** Reason:  Solution failed to converge in 10000 iterations (PETSc reason DIVERGED_ITS, residual norm ||r|| = 1.750592e-03).
*** Where:   This error was encountered inside PETScKrylovSolver.cpp.

If the Young's moduli do not differ by such a large factor or I use a courser mesh, then I don't get this error. Does anyone know a way to solve the elasticity equation with large jumps in the elasticity tensor on fine meshes?

asked Mar 3, 2015 by bseguin FEniCS Novice (650 points)

I doubt it is related to the condition number of your problem. Which preconditioner do you use ?

I didn't specify any preconditioner, so I must be using the default one.

...