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?