On the surface, “computer science” and “computational science” seem like interchangeable terms.
Both describe cutting-edge scientific fields. Both solve complex problems by using computer programming. And of course, both are made possible by the power and versatility of modern computer processors.
Furthering the connection between the fields at the University of Texas at Austin, ICES is architecturally connected to UT’s computer science building through a common atrium, and is academically connected to the computer science department through joint faculty appointments, including J. Tinsley Oden, Chandrajit Bajaj, Robert van de Geijn, Keshav Pingali, George Biros and Inderjit Dhillon.
But computer science does not define computational science, says Robert Moser, deputy director of ICES and director of ICES Center for Predictive Engineering and Computational Sciences. Instead, it’s a tool that enables computers to be applied to investigate scientific questions.
“Computer science includes all the things we do on our computers and how we build systems to do those kinds of things. Computational science is about the application of computers to advance science, largely the modeling and simulating of the physical world,” Moser said.
The majority of the institute’s 73 graduate students have undergraduate degrees in engineering or mathematics. In fact, most enter the institute’s Computational Science, Engineering, and Mathematics (CSEM) program with very little computer science experience, says Clint Dawson, an ICES graduate advisor and leader of the ICES Computational Hydraulics Group. But once enrolled, graduate students learn about programming languages, operating systems visualization software and parallel computing.
“They have to learn the gamut of everything that we know about computers to do their research. So that’s a pretty steep learning curve,” said Dawson. But they are absolutely necessary skills to learn for computational scientists, who apply computers toward understanding some of the most complex phenomena in engineering and the natural sciences.
Take turbulence, for example. It’s a problem that must be addressed when engineering a variety of items, from aircraft to golf balls, but its chaotic and ephemeral nature makes it difficult to study by conventional experimental or analytical means. But by using computational methods, ICES researchers have simulated 225 billon points of turbulent flow, enabling the phenomena to be studied in new detail.
It goes beyond basic science, too. CSEM student Travis Sanders, who has degrees in engineering, says advancements in computational science affect methods used by engineers and industry. “The people at ICES discover or enhance tools in the engineer’s toolbox…and they develop applications to show that it works.”
Another way to understand the difference between computer science and computational science outside of application is to look at the underlying math, said Keshav Pingali, director of ICES Center for Distributed and Grid Computing. Since computational science is often used to describe physical phenomena like fluid flow or heat transfer, the defining mathematics is usually continuous and based on the mathematical field of calculus. In contrast, the mathematics of computer science is discrete, involving operations on finite matrixes and sets.
However, to investigate the physical world using a computer, the continuous must be made discrete so that answers can be computed to have finite values. This process, called “discretization,” is a defining mechanism that links computer science and computational science together.
“The need for discretization is what gave rise to the finite element methods that ICES is famous for all over the world,” said Pingali, describing a hallmark computational science technique that breaks continuous math into smaller, finite parts that computers can analyze.
It’s Pingali’s opinion that computational science helped shape computers into the powerful and ubiquitous processors they are today.
In particular, he calls out FORTRAN, the first high-level programming language. The language, short for “FORmula TRANslation,” was developed by IBM in the 1950s to simply the coding process for computationally intense problems in scientific and engineering. And although developed for scientific needs, FORTRAN served as inspiration for other high-level languages applied across software and programs today.
“A big chunk of computer science got its start in computational science. It was one of the main reasons why computer science took off like it did,” said Pingali.
ICES computer science based researchers often investigate aspects of computer hardware and software that are essential for conducting computational science. For example, Pingali’s Galois system manipulates serial code so it can be run on parallel systems like supercomputers, which are often the only systems that can efficiently compute the large amounts of data associated with complex simulations. And George Biros, leader of the ICES Parallel Algorithms for Data Analysis and Simulation Group, recently received a grant to help develop more energy efficient circuits for such systems.
From finding common mathematical ground through discretization to the reliance on the computer, the two fields, despite notable differences, have a lot in common. And although computer science does not define computational science, it is an essential constituent part, according to ICES Director Tinsley Oden, who describes computational science as lying “at the intersection of mathematics, computer science and the core disciplines of science and engineering.”