I implemented a software package CatmapInterface.jl in the programming language Julia for integrating the reaction kinetics of heterogeneous catalytic mechanisms into a solver of a macroscopic transport model for electrochemical cells. The package implements an interpreter for the CatMAP specification of the microkinetic model that generates a symbolic-numeric ODE-model (see Catalyst.ReactionSystem). As an example I used the package to simulate the electrochemical reduction of carbon dioxide dissolved in a supporting electrolyte at a gold surface. There, I used the developed package to integrate a microkinetic model with rate constants based on quantum chemical calculations with Quantum ESPRESSO into a Voronoi-finite-volume solver of the transport model. The package has not yet been published.
I implemented a depth-first (Cooley-Tukey) and breadth-first (recursive) version of the mixded-radix fast Fourier transform (FFT). Details on the algorithm and its complexity can be found the in the report. The algorithms are implemented in C++17 using the Standard Template Library (STL). Both implementations are templates in order to use different complex data types (e.g. std::complex<float>). In addition a command line interface (CLI) is implemented as well as bash scripts using AWK for data post-processing and gnuplot for creating scientific visualizations.
[GitHub repository]
I implemented a AI-based machine translation program in Python trained on the Multi30K dataset. The data pre-processing pipline uses TensorFlow framework. The translation model uses a transformer architecture first proposed by Vaswani et al. in the paper with the title Attention is all you need. The multi-head attention layer is implemeted as a Tensorflow layer object. A Google Colaboratory notebook with the implementation of the architecture, the pre-processing pipeline, training and testing routines can be run in Google's cloud on a hardware with a GPU.
[Notebook]