### FENaPack for low-viscosity fluids

261
views
0
9 months ago by
Hello,

I am trying to use FENaPack to solve steady Navier-Stokes equation for a low-viscosity fluid (air). However, the convergence rate of the linear solver is very low. Is there any way to increase the convergence rate for a low-viscosity fluid?

Thanks,
Community: FEniCS Project
3
This is too general question to be answered using this format. In fact this is a question which bothers scientists and engineeres from various fields for decades. I would suggest that you provide a minimal code reproducing unwanted behaviour. Note that we don't have resources to debug a complex application code so it really has to be minimal. If you have any more specific questions about FENaPack I will be keen hearing them.
written 9 months ago by Jan Blechta
Hello Jan,

I work with FEniCS on HPC. I have FEniCS, FENaPack and petsc4py on my home directory. I installed fenapack with pip install . The petsc4py version is 3.7.0 and I recently compiled FEniCS from the source. When I run a FEniCS code with FENaPack imported, I get the following error:

Traceback (most recent call last):
File "rotor.py", line 11, in <module>
from fenapack import PCDKrylovSolver
File "/scratch/amirkola/rotor/fenapack/__init__.py", line 35, in <module>
from fenapack.field_split import PCDKSP, PCDKrylovSolver
File "/scratch/amirkola/rotor/fenapack/field_split.py", line 27, in <module>
from fenapack._field_split_utils import dofmap_dofs_is
File "/scratch/amirkola/rotor/fenapack/_field_split_utils.py", line 55, in <module>
module_dofs = compile_extension_module(dofmap_dofs_is_cpp_code, cppargs='-g -O2')
File "/home/amirkola/software/dolfin/lib/python3.5/site-packages/dolfin/compilemodules/jit.py", line 107, in mpi_jit
error_msg)
File "/home/amirkola/software/dolfin/lib/python3.5/site-packages/dolfin/cpp/common.py", line 2742, in dolfin_error
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 perform just-in-time compilation of form.
*** Reason: Compilation failed on root node..
*** Where: This error was encountered inside jit.py.

Do you know what may cause this error or what is the proper way to install fenapack on HPC?

Thanks
written 9 months ago by Amir
FENaPack does not work yet with Pybind11 generated DOLFIN Python interface and has not been tested yet with PETSc 3.7.

How did you build FEniCS?
written 9 months ago by Jan Blechta
Ok, you compiled FEniCS from source. But what version?
written 9 months ago by Jan Blechta
The dolfin version is 2017.2.0.dev0.
That means that fenapack cannot work with petsc 3.7? Should I switch to 3.8?
written 9 months ago by Amir
Sorry I mean 3.8 was not tested yet. 3.7 should be fine.

Regarding FEniCS versions, FENaPack is tested against FEniCS dev Docker image but only on pushed to FENaPack, which happened last time on September 23, see https://github.com/blechta/fenapack/commits/master.

Nevertheless I succeeded importing FENaPack with my local build of FEniCS with current master branches. So your issue has probably something to do with your build. The error message is only saying that JIT failed on other process. Is there a further message with the real reason? Anyway try to import fenapack without using MPI, just on one process first. If this does not succeed, there should be a log file with the message what went wrong.

In fact, are you able to compiler DOLFIN C++ Expressions? You reported something related on the list, I think.
written 9 months ago by Jan Blechta