NGSolve / ngsolve

Netgen/NGSolve is a high performance multiphysics finite element software. It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics. Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily.
https://ngsolve.org/
GNU Lesser General Public License v2.1
436 stars 79 forks source link

nonlinear elasticity tutorial fails at mat.Inverse step (Null communicator) #23

Open davydden opened 4 years ago

davydden commented 4 years ago

https://ngsolve.org/docu/latest/whetting_the_appetite/elasticity.html fails at

inv = a.mat.Inverse(fes.FreeDofs() )

with 6.2.2006

$python elasticity.py                 
 Generate Mesh from spline geometry
 Boundary mesh done, np = 68
...
Newton iteration 0
energy =  8.75
Assemble linearization
assemble VOL element 168/168                                 
Fatal error in PMPI_Comm_rank: Invalid communicator, error stack:
PMPI_Comm_rank(111): MPI_Comm_rank(MPI_COMM_NULL, rank=0x236a700) failed
PMPI_Comm_rank(68).: Null communicator
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=873025029

this happens for the software stacks built with either openmpi or mpich, thus unlikely to be due to the specific MPI being used.

davydden commented 4 years ago

After some experiments, I noticed that this happens when ngsolve is built with mumps. It could be an issue on mumps side or on ngsolve. I am not too familiar with debugging python wrappers to c++ libs, if you could provide me some guidance I can try to figure out what's going on here...