Joey Hart is a PhD Candidate in the Department of Mathematics, North Carolina State University
I had a very interesting, and on some levels unique, internship experience in the Optimization and Uncertainty Quantiﬁcation Department at Sandia National Laboratories. The origins of my internship came several months before through collaborations with my eventual mentor on another project Bart van Bloemen Waanders. During the 2016-2017 academic year, I was a graduate research fellow in the SAMSI (Statistics and Applied Mathematical Sciences Institute) program on optimization. Through this fellowship I began collaborations with several applied mathematicians and computational scientists. Our work led to Bart inviting me to apply for an internship under him in the upcoming summer of 2017, thus the story begins.
In the couple months leading up to the summer I was able the talk with Bart on several occasions. He described the project I would be working on in the internship and asked me to do a literature review and propose a plan of work. We were able to iterate with one another to formulate a plan of work which had mutual interest and beneﬁt. I think this was one of the nice and unique features of my experience; many interns receive a plan of work when they begin, I was able to formulate my own before I arrived. At its core, the project was focused on parameter uncertainty in optimization problems constrained by partial diﬀerential equations (PDEs).
I learned many useful skills over the course of my twelve week internship; a few highlights of these are ﬁnite element analysis, PDE-constrained optimization, C++ programming, and high performance computing (HPC) skills. The learning curve was challenging at ﬁrst, but incredible rewarding in the later part of the summer. From the onset of my internship, I developed C++ code on top of the Rapid Optimization Library (ROL), a C++ library which, among other things, is useful for PDE-constrained optimization. One of the most important skills I needed during my internship was the ability to read the existing ROL codes and understand how to build on top of them to eﬀectively leverage their capabilities. I began the internship as an amateur C++ programmer and had to learn more C++ while diving into the ROL code. In terms of mathematical skills, having a solid foundation in functional analysis was crucial for me to make rapid progress through the background literature and mathematical formulation of my work. Much of my internship focused on code development because I progressed through the mathematical development quickly. The coding work should not overshadow the mathematical complexity underneath and the important mathematical skills needed before writing the ﬁrst line of code.
Over the course of my summer internship I learned computing skills which I probably would not have learned at my home university, I gained exposure to applications which have signiﬁcant societal impacts, and I learned about the organization structure and workﬂow of a research laboratory. Having an internship at Sandia is beneﬁcial for future staﬀ or postdoctoral applications and it serves as a nice trial run to determine where I may thrive in future positions. Time prohibits me from highlighting the many other educational, professional, and personal beneﬁts of student internships.
To top of the experience, its not over! At the end of the summer I converted to be a year round telecommuting intern. I work part time from my university to continue work on the project and we are moving toward submitting an article for publication. I have discussed future plans with my mentor, but the story is still unfolding. Stay tuned for another post with the remainder of the story!