Development of a finite elements framework for biological applications
Widening the usability of software can significantly enhance its adoption and the user engagement. Making the software available to experts on different fields can help open new research opportunities. This thesis presents the development of a finite elements library for Python, aimed at biological...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2024 |
| País: | España |
| Institución: | Universitat Oberta de Catalunya (UOC) |
| Repositorio: | O2, repositorio institucional de la UOC |
| OAI Identifier: | oai:openaccess.uoc.edu:10609/150592 |
| Acceso en línea: | http://hdl.handle.net/10609/150592 |
| Access Level: | acceso abierto |
| Palabra clave: | finite elements biology python hiperpy elementos finitos biología Python (Computer program language) -- FMDP Python (Llenguatge de programació) -- TFM |
| Sumario: | Widening the usability of software can significantly enhance its adoption and the user engagement. Making the software available to experts on different fields can help open new research opportunities. This thesis presents the development of a finite elements library for Python, aimed at biological simulations, designed to combine Python’s high-level usability with the performance of compiled languages. Our approach (hiperpy) leverages C++ code bindings and just-in-time compilation to create a Python interface for an already developed C++ finite elements framework (hiperlife). This allows users to access the capabilities of the C++ framework directly from Python. Our results show a performance overhead of approximately 10% of the execution time compared to the native C++ implementation, being lower for long executions. We conclude that this alternative interface can be highly beneficial for leveraging a finite-elements framework, prototyping, and for users proficient in high-level programming languages but not in C++. We also conclude that the Python interface maintains high-performance computation capabilities and the problem modelling capabilities of the original software. |
|---|