lunes, 15 de julio de 2024
  [ login ]
Working on efficient mesh generation methods for FEM using parallel octrees at CIMNE

My name is Jorge Lopez Ruiz, I had just come back to Guanajuato. I am from Mexico and I am studying a master in sciences with specialty in computation and industrial mathematics in CIMAT Guanajuato. I have been working on parallel octrees using OpenMP at CIMAT, but I had the opportunity to work in CIMNE Barcelona on parallel octrees using MPI. TCAiNMaND (Tri Continental Alliance in Numerical Methods applied to Natural Disasters) supported part of my stay in Barcelona Spain. The work developed at CIMNE together with Dr. Abel Coll and Dr. Pooyan Dadvand  enhance a lot my master thesis.


In FEM the mesh generation techniques are being widely studied by a lot of people around the world due to the capabilities of new computer processors, most of people is trying to develop fast, robust and efficient meshers based on techniques that allows to create huge meshes in minutes or even seconds by using a single modern personal computer or a cluster. During my stay at CIMNE I worked on a octree mesher using parallel computing with MPI.


At CIMNE specifically I worked on the balance of an octree using parallel computing. Octree balance means that for each cell all their neighbors can only have one level more or one level less of refinement, this is because to generate the tetrahedral mesh a prestablished pattern is applied and to can apply this pattern the cell sizes have to be controlled in all the octree. In this octree is used a binary codification for each cell, this helps to perform most of the operations robustly and efficiently by using bitwise operations.


When I started working on this project y was surprised by the way that Dr. Abel and Dr. Pooyan program using C++. They program in a way in which bugs can be easily detected due to the tests applied in most of the code, also most of operations are performed fast and efficient due to the use of bitwise operations. By them I learned a programming style in order to generate code more readable and understandable.


During my stay I had some troubles with the work developed, most of troubles are related to the codification using C++ classes and some others related to understand how can I program some algorithms in a efficiently way by using bitwise operations. This troubles were tackled with help from Dr. Abel and Dr. Pooyan and I got the needed skills to implement the octree balance algorithm.


Working at CIMNE has been a very enriching experience for me, because I learned a lot from my assessors and actually I have the skills to implement FEM meshers in which high performance computing techniques and  parallel computing is used over all the algorithm.


Actually we had the octree balance algorithm implemented in parallel with MPI, and we are working on apply the tetrahedral pattern to generate FEM elements and after that can determine elements that lies inside the boundary domain and finally save them as the final tetrahedral mesh. The future of this work is generate a parallel, robust and efficient mesher to perform FEM simulations.


During my stay in Barcelona I felt very comfortable due to the great hospitality of all the people with I was in touch more often.

I thank my assessors, TCAiNMaND project managers and to European Union for gave me the opportunity to work with persons from a research center recognized worldwide as is the  CIMNE.

The research leading to these results has received funding from the European Community's Seventh Framework Programme, Marie Curie International Research Staff Exchange Scheme (IRSES) under grant agreement n° 612607
For futher information contact us at