[CIG-SHORT] solver issue, fieldsplit with traction boundary

Matthew Knepley knepley at mcs.anl.gov
Wed Nov 21 20:26:48 PST 2012


On Wed, Nov 21, 2012 at 11:07 PM, Birendra jha <bjha7333 at yahoo.com> wrote:
> Dear developers
>
> I am facing problems with fieldsplit+ML preconditioner for fault friction when I apply traction boundary condition on a face.
>
> When I use the fieldsplit and ML preconditioner, I get following error:
>
>  -- Solving equations.
>   0 SNES Function norm 9.795955105332e+01
> [0]PETSC ERROR: --------------------- Error Message -------------
> [0]PETSC ERROR: Detected zero pivot in LU factorization:

This says that for some reason, your elastic system is not completely
constrained. I am
guessing because you removed a cruical Dirichlet condition. You can
fix this either by
putting in enough Dirichlet conditions, or by using SVD on the coarse level

  -fieldsplit_0_pc_mg_coarse_pc_type svd

You can check the prefix against the output of -ksp_view to see if I am correct.

  Thanks,

     Matt

> ...
> ...
>     def solve(self, *args): return _problems.SolverNonlinear_solve(self, *args)
> RuntimeError: std::exception
>
> Without fieldsplit+ML, linear solve takes ~800 iterations. From the norm (~200), it does not look like nonlinear solve will converge.
>
> Without the traction boundary condition, it runs fine. But I need to apply some compression on the fault.
>
> I have attached the two cases.
>
> Thanks a lot for your help.
> Birendra
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>



--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener


More information about the CIG-SHORT mailing list