Project: Optimization of the Modeling of Interaction Between Turbulence
and Sheared Flows

Student Researchers: Michelle Almeida and Amanda Gellhouse

Advisor: Dr. Kara Nance

Institution: University of Alaska Fairbanks


Purpose/Objectives


The goal of the project was to perform an exhaustive profiling of legacy FORTRAN code that models how well one can contain plasma using variousmethods such as sheared flows to minimize turbulent transport for the purposes of creating fusion. This profiling was to involve running timing tests, evaluating structure and program flow, improving performance serially and creating a graphical layout of the data flow.

Overview of Research Process

In order to gain a better understanding of the overall code structure and
program flow, we used a collection of Fortran 77 utilities (ForUtil) developed by two students from Delft University of Technology in the Netherlands. These tools allowed us to construct an accurate calling tree for the code and gave us a broad perspective of how the routines interacted with one another and the overall program flow. The next step involved examining the code in detail, subroutine by subroutine. For each subroutine within the code, we examined the input parameters, associated variables, and subroutine function interaction and accordingly noted optimizations that could be applied to increase program performance.

Results/Conclusions


The project uncovered a plethora of opportunities for optimization within the FORTRAN code. These included never-used COMMON blocks and variables, unused subroutines, and inefficient looping structures. The project was an extremely valuable learning experience, and we are grateful to have had the opportunity to work on it. Neither of us were familiar with FORTRAN code, so to understand the code itself was an exercise. We also gained much insight into the art of code optimization, as well as the documentation and physical representation of a large and complex set of interactive routines.

Web Content


The profiles for the Fortran subroutines and the flowcharts representing program flow are viewable on the web at www.as.uaf.edu/~fsmla3/crewproject.html