For computational mathematician Julian Andrej, working at Lawrence Livermore was serendipitous. Andrej joined LLNL’s Center for Applied Scientific Computing (CASC) in 2019 as a postdoctoral researcher after completing his Electrical Engineering degree at Kiel University in Germany. “I took an unusual road to get here,” says Andrej, who at the time was both using and contributing to MFEM and SUNDIALS open-source software through the GitHub hosting platform.
“I had this revelation,” he continues. “I made the connection that the software applications I was working on were both developed at the Laboratory, and I thought it would be the right place for me to work, but being a foreign national, I wasn’t sure I was well-suited for the position.” In the end, he took a chance—one that has set him on a career path where he can apply his expertise to real-world scientific problems.
Although Andrej’s degree is in Electrical Engineering, his emphasis was on the programming and mathematics sides of the discipline. At the Laboratory, he splits his time between work on MFEM and a related project with the Computational Engineering Division (CED) to develop codes for next-generation, high performance computing hardware. Andrej has the unique ability to apply his expertise in both mathematics and engineering to act as a liaison between CASC and his CED colleagues.
“I can understand the needs and requirements of both parties and help translate between the two disciplines to determine what requirements are actually needed,” he says. “It’s important to have an understanding of the technical details related to the work.”
Application and Process Improvement
Over the years, Andrej has focused his MFEM efforts on developing a high performance version of a Navier-Stokes solver in preparation for El Capitan, the Laboratory’s first exascale-class supercomputer. MFEM, a discretization library for simulation codes that acts as a mathematical base layer for large-scale physics applications, is used for many Laboratory projects, including BLAST, MARBL, and the Exascale Computing Project.
Andrej says, “MFEM implements numerical algorithms from the mathematics to simulate and visualize complex physics and physical concepts.” His active participation in the Computing Directorate’s hackathons has also allowed him to improve MFEM workflow processes for reviewing and formalizing user contributions.
One of the benefits of the GitHub repository is that anyone in the world can change code in the library. However, every contribution must be vetted to ensure it is on par with standards and ultimately benefits users. Reviewers must then evaluate the changes—a painstaking and lengthy process that can affect future contributions. “If the process takes too long, it may dissuade others from further contributions,” says Andrej.
At a recent hackathon, he and a Livermore Computing colleague collaborated to develop a process to automate pull requests using the GitHub API and a JavaScript front-end dashboard. “We receive one to two pull requests every day. We thought it would be helpful to have a tool that would allow us to automate and track the review process so we could reduce the time for a contribution to be accepted,” says Andrej. In 2021, he presented the productivity improvement at the Laboratory’s Developer Day—an annual event that brings LLNL’s software community together to share best practices and new ideas.
Driven by Purpose
“From a young age, numbers were a part of my life since both my parents worked in a bank,” says Andrej. “In college, I developed a certain feel for math and decided that I wanted to pursue it as part of my career.” His early life also provided him the opportunity to explore the utility and possibilities afforded by computer technology. He notes, “In the early 1990’s, my parents bought a computer, which was a huge investment for us, and you couldn’t keep me away from it.” A few years later, he bought his first software (in a box) and taught himself how to use it. Andrej adds, “I spent an entire summer reading the manual on RedHat Linux.”
Fast forward to today, and those early seeds of interest have laid the foundation for a career dedicated to making a difference. For Andrej, the work he conducts at the Laboratory is fulfilling. “I know that every part of my work is contributing to a mission, and I can see a clear traceable path of its impact,” he says.
CASC projects not only underpin and support many Laboratory programs, but in many cases also benefit external users and anyone in the broader computer science, computational physics, applied mathematics, and data science research communities. Andrej states, “I get to solve new problems that nobody else has solved, and that’s why I’m here. It’s challenging work, but seeing its real-world application makes all the effort worth it.”
—Caryn Meissner