In the academic year 2019-2020 I joined ARIS Space, the student association for space in german Switzerland. There I joined team EULER, whose mission statement was to build a sounding rocket for the 2020 Spaceport America Cup competition which would reach the target apogee of 30,000 feet (9.144 km) with as much precision as possible.
My Batchelor’s Thesis was titled “Comparative study of density-based versus pressure-based solvers for supersonic flow”. The idea of the thesis stemmed from my work at ARIS, where one of the natural questions that arose was which solver would be best for my use case: simulating the aerodynamics of a supersonic sounding rocket. Under the supervision
In a world where sadness rules undisputed, a lonely circus named Silly Gilly embarks on a journey to spread joy and happiness over the Sadlands and bring hope to the decaying civilization, but their mission reveals itself to be more complicated and risky than expected! In Silly Gilly, players manage and expand a circus built
Before running any CFD simulations we need to generate a mesh around our geometry to perform calculations on. This page is meant to document the standard process we use to generate this mesh for ARIS rockets. Inputs: Geometry exported from some CAD software in named STL format. The sample OpenFOAM case folder (ofcase_heidi_fullbody_meshing) Outputs: 3D
Below is a sample Pyhton script to automatically plot a generic data file using matplotlib. It will automatically read an arbitrary number of datasets from a file and plot each as a separate line in a matplotlib plot. Usage python3 plot.py input_data_filename output_filename [plot_title [y_axis_label]] The first argument is the name of the file containing
This page is meant as a brief overview and reference of the principal components of rocket aerodynamics, such as aerodynamic forces and design of nose cone, fins and boat-tail.
This page is meant as a reference of the principal components and other useful information about the OpenFOAM CFD toolkit.
Below is a simple implementation of the producer-consumer parallel strategy with MPI. It’s just a dummy example, and could probably be improved greatly, but it is a nice illustration of the producer-consumer model, as well as uses for MPI_ANY_SOURCE, MPI_ANY_TAG, and MPI_Status. #include <stdio.h> #include <mpi.h> #include <time.h> #include <stdlib.h> #include <math.h> // Producer-consumer scheme
CUDA is a very powerful API which allows us to run highly parallel software on Nvidia GPUs. It is typically used to accelerate specific operations, called kernels, such as matrix multiplication, matrix decomposition, training neural networks et cetera. One such common operation is a reduction: adding up a long array of numbers. One simple implementation
In autumn 2018, I teamed up with classmates Silvia Nauer and Mikael Stellio for a project in the ETHZ course Physically-Based Simulation for Computer Graphics. The objective of our project was to create a video of a meteorite crashing into the sea, by implementing our own FLIP fluids solver and rendering the video with Blender.