As part of my undergraduate degree in Mechanical Engineering at Bath University, I opted to take a year-long placement. I saw this as an opportunity to build on what I have learnt over the last three years and put it all into practice. My interests lie in maths and computing, and more specifically in solving engineering problems. When the position was advertised at CFMS, I felt that this was the perfect opportunity!
Every year, CFMS placement students are assigned projects which enables them to try a range of programmes and software. My initial project was something a little different; I was challenged with modelling the path of a spacecraft from Earth to Mercury. The purpose of the project was to apply the in-house simulation framework to a space-science mission - in this case, to get to Mercury.
To achieve this, I had to use Python, a programming language which enabled me to model and optimise launch conditions. The first step was to determine the required conditions to propel the satellite out of orbit and onto the correct trajectory. To establish this, I used the NASA Trajectory Browser to save time. From the departure conditions and a database of all potential launch sites and respective launchers, I was able to run an optimiser to determine the starting conditions that would be best and met the requirements of the project.
The next step of the project was to determine the arrival of the satellite to Mercury, and the subsequent orbital insertion and transfer. Again, the initial conditions were set by the aforementioned predetermined trajectory.
The orbital insertion required further manoeuvre; the energy needed to complete this manoeuvre was required to be minimised for optimal results. A further transfer was also needed to get it into the orbit required, which was achieved through a polar orbit scanning the whole surface. Similarly, a manoeuvre with a large fuel burn was required to achieve this.
During the project, I also had to use a radiation tool based on Monte-Carlo principles, which enabled me to determine suitable shielding for the satellite. This required me to learn some basic C++ coding to extract the required data and write the necessary files for my required input conditions.
This diagram shows the result of an orbital transfer and the divergence with increasing time step
I enjoyed the optimisation of the problem most, it was interesting to learn the techniques for doing so and to apply it to my problem. Visualising the effects of changing the time-step on the results was also interesting, high time-steps could cause seemingly divergent paths from those which would be taken in a real situation.
Another project I have since worked on is a further development of the CFMS office Virtual Reality (VR) model, which has been made using Unreal Engine. The VR model is used to showcase our capabilities and is used during STEM outreach events, giving users the chance to immerse themselves in the virtual world.
At CFMS, we take part in several STEM outreach projects. These include going to events, teaching Python in schools for numerical modelling, and giving talks and demonstrations to students for the South Bristol Youth Discover Maths Programme. Taking part is really rewarding and gives me the chance to explain aspects of engineering to a wide range of age groups, helping them to explore their horizons and hopefully encourage them to consider a career in engineering.
At this stage of my placement, I have already learnt a lot about the capabilities of digital engineering, something I am sure will continue! Doing a placement year has allowed me to experience the engineering world outside of a purely academic setting. It has also taught me new skills related to my career and has given me a real insight into working life.