Many problems of interest to scientists and engineers, such as fluid flow and stress analysis, require the solution of complex PDEs. Often the solution requires discretizing the physical domain into a mesh or grid then stepping from a given initial state towards some final state using small incremental time steps. Grid sizes can reach several thousand to hundreds of thousands of elements and the number of time steps required to solve the problem can vary from several thousand to tens of thousands or more. Traditional programming techniques are unable to take advantage of the non-random grid access patterns and generally result in array accesses that are computationally expensive. Our research has produced a method of programming based on the method of Psi Calculus (Mullin, 1988) that results in faster access times - producing programs that run significantly faster than programs written in a traditional style.
Coffin, Larry, "Designing a New Programming Methodology for Optimizing Array Accesses in Complex Scientific Problems" (1994). Opportunities for Undergraduate Research Experience Program (OURE). 25.