On Tue, 22 Jul 2014 11:19:58 +0200 Maria Cristina Colombo <[email protected]> wrote:
> Dear all, > > I'm trying to solve a nonlinear problem on a very big mesh using > newton solver. These are the lines of my code: > problem = MyNonlinearProblem(L,a,bc) > solver = NewtonSolver() > solver.parameters["linear_solver"] = "lu" > solver.parameters["convergence_criterion"] = "incremental" > solver.parameters["relative_tolerance"] = 1e-6 > > I encountered this error: > > UMFPACK V5.4.0 (May 20, 2009): ERROR: out of memory > > Traceback (most recent call last): > File "CH_BC_Tdip.py", line 170, in > solver.solve(problem, u.vector()) > RuntimeError: > > *** > ------------------------------------------------------------------------- > *** DOLFIN encountered an error. If you are not able to resolve this > issue *** using the information listed below, you can ask for help at > ------------------------------ > > *** [email protected] > ------------------------------ > > *** Remember to include the error message listed below and, if > possible, *** include a *minimal* running example to reproduce the > error. ------------------------------ > > *** > ------------------------------------------------------------------------- > *** Error: Unable to successfully call PETSc function 'KSPSolve'. > *** Reason: PETSc error code is: 76. > *** Where: This error was encountered inside > /build/buildd/dolfin-1.4.0+dfsg/dolfin/la/PETScLUSolver.cpp. > *** Process: unknown > > > How can I fix the problem? I have found out that I should switch to > mumps as linear solver.. but I prefer to use LU. Is there a way to MUMPS is also LU/Cholesky solver. > save memory? Is it related to the 4GB limit of UMFPACK? I'm new at > dolfin and I don't know how to solve my model .. I don't know much about UMFPACK but in LU solver you usually get run out of memory when problem is stiff and too much of pivoting is required for accuracy so fill-in is large. Try fixing the stiffness of your problem. I'd recommend using MUMPS when one can set plenty of MUMPS options (see MUMPS manual) from DOLFIN by PETScOptions.set("mat_mumps_icntl_foo", bar) PETScOptions.set("mat_mumps_cntl_foo", bar) But generally, one should switch to Cholesky or even positive-definite Cholesky when the problem is symmetric or SPD respectively. The theory of factorization is much more stronger there and solvers' robustness reflect that. Jan > > > Thanks > > Cristina _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
