Material Detail

"Turbocharge Your Scientific Applications with Scripting" icon

Turbocharge Your Scientific Applications with Scripting

Scientific applications are built with great care and attention to the core simulation algorithms, often with some input/output added as an afterthought. Instead, you can create a much more powerful tool with little extra effort by replacing the usual "main" program with an embedded scripting language. A scripting language makes a tool "programmable" for a wide variety of applications, letting you use the tool like a Swiss Army Knife. The scripting language orchestrates the actions of high-level building blocks, which are all coded efficiently in a system-level programming language, such as C, C++, or Fortran. When integrated correctly, therefore, the scripting language adds flexibility without impacting overall performance. Scripting languages also foster library development and code reuse, since the building blocks are coded once, and then scripted in a variety of ways to perform various tasks. The Matlab environment is an excellent example of a successful scripting architecture. In this talk, I'll show examples of tools that go beyond Matlab in their scope--tools that have a more specialized function, that have been turbocharged with an embedded scripting language called Tcl. One such tool, an interconnect capacitance simulator, can be "reprogrammed" via Tcl scripts to perform different analyses ranging from simple calculations, to sweeps, to optimization runs. I'll also describe several packages that I've created to amplify the power of Tcl adding support for object-oriented programming, mega-widget development, data visualization, and more. Finally, I'll show how Tcl can be used to turbocharge Web site development. Tcl code can be embedded within a Web page, and executed as each page is served up to build the page contents dynamically. Together with a relational database and a server farm, this provides the infrastructure needed to authenticate users, manage their sessions, and submit jobs for on-demand computing. When combined, all of these capabilities create a framework in which tools can be prototyped, developed, and delivered in short order with production-quality results, greatly accelerating the process of scientific discovery.


  • User Rating
  • Comments  (1) Comments
  • Learning Exercises
  • Bookmark Collections
  • Course ePortfolios
  • Accessibility Info

More about this material


Disciplines with similar materials as Turbocharge Your Scientific Applications with Scripting


Log in to participate in the discussions or sign up if you are not already a MERLOT member.
James Goggin
James Goggin (Student)
12 years ago
This is not what I really think about when writing scripts. I think the effort needed to develop the base is more than end product. The more I read, the less interested I was in the article and realized that it did not apply to me or my class. This is most likely a bad choice on my part not the authors.
Time spent reviewing site: 20