Solving linear system by PETSc direct methods for Stokes equations,

364
views
0
9 months ago by
Dear FEniCS community

I am solving the three-dimensional Navier-Stokes equations, where Taylor-Hood element is used in space. For simplicity, I have tried the following three direct solvers
solver = LinearSolver("mumps")
solver = LinearSolver("lu")
solver = LinearSolver("umfpack")

However, the question is that only small mesh is supported. I can run my code with mesh  $4\times4\times4$4×4×4, and  $8\times8\times8$8×8×8 . If I run it with  $16\times16\times16$16×16×16 , it will stop and give me the information below

Traceback (most recent call last):
File "stokes.py", line 139, in <module>
solver.solve(A,w.vector(), b)
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
***
***
*** 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 (Error in external library).
*** Where: This error was encountered inside /build/dolfin-yRhxwC/dolfin-2017.1.0/dolfin/la/PETScKrylovSolver.cpp.
*** Process: 0
***
*** DOLFIN version: 2017.1.0
*** Git changeset: unknown
*** -------------------------------------------------------------------------

I am sure the storage is no problem I have a powerful machine. The boundary condition for  $u$u is homogeneous Dirichlet B.C. and pinpoint B.C. for pressure  $p$p. Can anyone provide some hints? Thanks in advance.
Community: FEniCS Project