Object-Oriented Programming in Fortran

Date and Time: 
Aug 8th - 10th, 2012, 9:00-12:00, 13:00-16:00
ML Damon Room
Damian Rouson, Karla Morris, and Salvatore Filippone

Workshop Introduction:

Modern Fortran explicitly supports object-oriented programming (OOP). OOP aims to increase a program's maintainability in part by reducing cross-module data dependencies and to increase a program's reusability in part by providing for extensible derived types. Emerging compiler support for Fortran 2003/2008 inspires a more modern program design and implementation style. This course provides the requisite skills.

  • Day 1 introduces OOP in Fortran 2003.
  • Day 2 introduces patterns of best practice in program organization.
  • Day 3 explores several paths toward parallel OOP, including parallel numerical libraries and Fortran 2008 coarray programming.

Examples will utilize introductory-level numerical algorithms from linear algebra and differential equations inspired by multiphysics modeling that is coupled field problems common to many interdisciplinary, engineering, and physical science simulations.
Additional information, including a syllabus and schedule from the NERSC URL for previous offerings of the course can be found here:


If you are interested in purchasing the reference book Scientific Software Design - The Object-Oriented Way written by Damian Rouson(Sandia National Laboratories), Jim Xia(IBM Canada Lab, Markham), and Xiaofeng Xu(General Motors Corp.), here is a discount coupon.


Please register for the workshop from the link here.

Speaker Description: 

Damian is the manager of the Reacting Flow Research Department and a Visiting Assistant Professor at the University of Cyprus. His research interests focus on scalable scientific software design. He has recently written a book on the subject, Scientific Software Design: The Object Oriented Way . He is also the software architect of the object oriented Fortran interface to Trilinos, ForTrilinos. ForTrilinos provides Fortran applications direct access to capabilities in the Trilinos project.

Karla is a senior member of technical staff in the Reacting Flow Research Department at Sandia. She is the lead developer of ForTrilinos. Her research interests include computational fluid dynamics to multiphysics flows and scientific software architecture.

Salvatore Filippone graduated from the University of Rome "Tor Vergata" where he is currently with the Dep. of Industrial Engineering. His main research interests are in algorithms for numerical linear algebra, their implementation on high performance computers and their application to engineering domains such as fluid dynamics and electromagnetism. From 1990 to 2001 he has been with IBM Corp. where he was one of the lead developers of the numerical libraries ESSL and PESSL. He evaluates scientific projects in HPC for both the European Commission and the National Science Foundation.

PDF icon Rouson Discount Flyer.pdf216.94 KB

Event Category: