[petsc-users] Request for Assistance with Parallel Matrix Solving Using petsc4py in EasyFEA

Matthieu Noel matthieu.noel at inria.fr
Tue Mar 10 03:29:28 CDT 2026


Dear PETSc users,

My name is Matthieu Noel, and I am a research software engineer at INRIA.

During my PhD thesis, I developed *EasyFEA*, an open-source finite 
element analysis tool documented here: 
https://urldefense.us/v3/__https://easyfea.readthedocs.io/en/stable/__;!!G_uCfscf7eWS!flSI4RbIKcgCgsNyOejSxJzr9vPWftTgzTVo2hSxHxa1AjYCAMppGknY5M5EGs9muBjuX4s8jfd0PCpQUkoOjKZWz9tvihE$ .

I am currently working on *Issue #26* 
(https://urldefense.us/v3/__https://github.com/matnoel/EasyFEA/issues/26__;!!G_uCfscf7eWS!flSI4RbIKcgCgsNyOejSxJzr9vPWftTgzTVo2hSxHxa1AjYCAMppGknY5M5EGs9muBjuX4s8jfd0PCpQUkoOjKZWmhF-Su0$ ), where I aim to use 
*petsc4py* to solve a simple stationary thermal problem in parallel.

The main challenge is *constructing and solving the parallel matrix 
system* (|Ax = b|).


      Current Status:

  * *Mesh partitioning* has been successfully performed using *GMSH*.
  * EasyFEA provides the *assembled matrix system* (|Ax = b|) with
    applied boundary conditions.
  * My current implementation using *petsc4py* runs without errors, but
    the results obtained are incorrect.


I suspect the problem lies in how the *parallel matrix and vectors are 
assembled or solved*, particularly in handling *ghost DOFs* and ensuring 
proper communication between MPI ranks.

I would be extremely grateful for any guidance, resources, or examples 
you could share to help me address this issue.
My current development branch is available here: 
https://urldefense.us/v3/__https://github.com/matnoel/EasyFEA/tree/26_mpi__;!!G_uCfscf7eWS!flSI4RbIKcgCgsNyOejSxJzr9vPWftTgzTVo2hSxHxa1AjYCAMppGknY5M5EGs9muBjuX4s8jfd0PCpQUkoOjKZWW8q1-8I$ .

The PETSc function can be found at this link: 
https://urldefense.us/v3/__https://github.com/matnoel/EasyFEA/blob/26_mpi/EasyFEA/Simulations/Solvers.py*L649-L767__;Iw!!G_uCfscf7eWS!flSI4RbIKcgCgsNyOejSxJzr9vPWftTgzTVo2hSxHxa1AjYCAMppGknY5M5EGs9muBjuX4s8jfd0PCpQUkoOjKZWlmD8DH8$ 

I am currently running the script in the attached files.


Thank you in advance for your time and expertise.

Best regards,
Matthieu Noel


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20260310/b57afb35/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DbhO7xbQSISvapJk.png
Type: image/png
Size: 213174 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20260310/b57afb35/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Thermal1.py
Type: text/x-python-script
Size: 2559 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20260310/b57afb35/attachment-0001.bin>


More information about the petsc-users mailing list