Development of visualization functions in CALFEM for Python

Detta är en Uppsats för yrkesexamina på avancerad nivå från Lunds universitet/Byggnadsmekanik; Lunds universitet/Institutionen för byggvetenskaper

Sammanfattning: Visualizing results is an important part of Finite Element (FE) modeling. Many tools exist for visualizing these results, they are often part of complete software packages for FE analysis. These packages often rely on the user being familiar with FE analysis, making them unsuitable for use in teaching the FE Method. CALFEM (Computer Aided Learning of the Finite Element Method) is an FE toolbox developed at LTH with an emphasis on teaching. It enables the user to implement the steps that otherwise are done behind the scenes in commercial FE software. CALFEM exists in two variants today, the original one implemented in MATLAB, while a Python version is continuously being developed in parallel. The main aim of this thesis is to develop visualization tools for the Python version of CALFEM. This will be integrated into the existing toolbox, allowing users to visualize results from calculations and aiding in the understanding of the FE Method. To identify the needs for visualization, a study was conducted of the current visualization tools available in CALFEM. Current visualization tools only allow for visualizing of 2D problems. While CALFEM has support for many 3D elements, visualizing these in full 3D is not currently possible. The focus for this thesis is therefore on 3D visualization. Since using CALFEM requires manual scripting, visualizing geometries and meshes before solving the problem is very helpful, and emphasis is therefore put on visualizing all steps in the FE process. Another study was conducted to understand the visualization needs using CALFEM at relevant departments at LTH. Python has an extensive amount of libraries for visualizing scientific data structures. A third study was conducted to find suitable libraries for implementing the identified visualizations in CALFEM. As a result of this study, a library called Vedo, based on the Visualization Toolkit (VTK) was chosen. Using the libraries and results from the two first studies, several visualization functions for several different element types were implemented. Care was taken to implement these as seamlessly as possible into the Python version, following the same principles, syntax, and naming of existing functions. Functionality for importing data for visualization from the MATLAB version was implemented, along with export to VTK-files. The export functions allow for visualization of the results in ParaView, a more advanced open-source visualization tool.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)