Letting things ‘flow’
After the stimulating training week at IT4Innovations, Ostrava we (me, Jan and our site supervisor Dr. Leon Kos) set forth on a long, exhausting but finally much rewarding drive towards Slovenia. Special thanks to Leon, as I got the opportunity to taste some delicious Slovenian food on my very first evening in the world’s first green country. After catching up on some much needed sleep and a sneak peak in the beautiful city of Ljubljana over the weekend, I was all charged up to start with my project work. My HPC journey in Ljubljana stared with a visit to the Arctur supercomputer, one of the few privately owned commercial HPC service providers. Learning about another awesome supercomputer invigorated me to start on my project titled “CAD data extraction for CFD simulation“.
What is the project about ??
As described in my previous blog post, CAE is a vital component of the modern day product design validation cycle. The CAE application we focus on in my project is Computational Fluid Dynamics (CFD), where one studies the flow of fluids, usually around some object – such as an airplane wing. The steps involved in the process are described in the figure below.
As described here, CAD model (geometry) is fed as input to the pre-processor where the problem is set up and transformed into an equation system which is then solved to get the results. One of the trickiest steps is the geometry cleanup which involves defeaturing (i.e. removal of small features such as holes, chamfers, fillets etc. which are not important for the CFD analysis and also make the meshing complex and difficult) and repairing of surfaces which may not have been properly imported in the pre-processor. Usually, this is somehow handled manually within the pre-processor but is cumbersome and time consuming. Thus, in order to “let the things flow” and to fast pace the entire process, we aim to develop a dedicated geometry cleanup tool based on PythonOCC which is nothing but a Python wrapper to the C++ based CAD modeling library OpenCASCADE. With the inclusion of this Geometry cleanup tool into the process chain, the entire process up to solving the equation system can be automated by writing Python scripts.
Since I was new to PythonOCC, it took quite some time to figure out how actually the CAD data is represented in the program, how different parts of an assembly can be accessed, manipulated etc. Now, almost two weeks into it, I have already began with code development. Thus, you can expect some exciting results in my next blog 🙂
I feel kind of lucky to have been offered my Summer of HPC project in this beautiful, green city. Last weekend, I got the opportunity to explore some parts of Ljubljana and also to visit Ljubljana Castle which apart from its great architecture also offers a great view of the city.