Bachelor's Thesis: Porting and optimization of scientific particle simulation code

Starting from a particle simulation program written in Python, this project had two main objectives: porting that code to a faster language C++, and optimizing the resulting code. The motivation behind these goals stems from the execution time limitation on the ATLAS supercomputer from DIPC (Donostia International Physics Center), which is 7 days. The original code was created and owned by ESS Bilbao, a company which focuses its efforts contributing to the European Spallation Source. The code mainly revolves around the use of a well known free open-source library, FEniCS, which offers a wide range of functionalities, such as solving partial differential equations using the finite element method. Specifically, DOLFIN is used as the interface for the computational back-end of FEniCS, which provides functionality for both Python and C++. Throughout the code, aside from creating the mesh and calculating the RF field density flux functions, DOLFIN is used to determine the force an electron suffers in each step of the execution and to determine if it has collided with the object's inner walls. Thus, the project consisted on the following different stages: firstly, analyze and understand the original code, then port the code to C++ and check for different execution results. Secondly, analyze which optimization techniques could be implemented using OpenMP and MPI for both multithreading and multiprocessing, and apply those techniques where possible. Lastly, profile the application for further optimization and analysis of results.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2025-06-18
DOI
https://doi.org/10.5281/zenodo.15689151
Primary Topic
Computational Physics and Python Applications
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Bachelor's Thesis: Porting and optimization of scientific particle simulation code

Zenodo (CERN European Organization for Nuclear Research)
Computational Physics and Python Applications
article

Bachelor's Thesis: Porting and optimization of scientific particle simulation code

article en

Abstract

Starting from a particle simulation program written in Python, this project had two main objectives: porting that code to a faster language C++, and optimizing the resulting code. The motivation behind these goals stems from the execution time limitation on the ATLAS supercomputer from DIPC (Donostia International Physics Center), which is 7 days. The original code was created and owned by ESS Bilbao, a company which focuses its efforts contributing to the European Spallation Source. The code mainly revolves around the use of a well known free open-source library, FEniCS, which offers a wide range of functionalities, such as solving partial differential equations using the finite element method. Specifically, DOLFIN is used as the interface for the computational back-end of FEniCS, which provides functionality for both Python and C++. Throughout the code, aside from creating the mesh and calculating the RF field density flux functions, DOLFIN is used to determine the force an electron suffers in each step of the execution and to determine if it has collided with the object's inner walls. Thus, the project consisted on the following different stages: firstly, analyze and understand the original code, then port the code to C++ and check for different execution results. Secondly, analyze which optimization techniques could be implemented using OpenMP and MPI for both multithreading and multiprocessing, and apply those techniques where possible. Lastly, profile the application for further optimization and analysis of results.

Zenodo (CERN European Organization for Nuclear Research)
University of the Basque Country (ES)
Industry, innovation and infrastructure
Openalex Percentile: Top 77%
Computational Physics and Python Applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.