[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