Fortran 95 Lectures



PSTI Research Lecture Series:
"Scientific Computing with Fortran95"

Dr. Viktor K. Decyk
Research Physicist, UCLA

The Plasma Science and Technology Institute (PSTI) at UCLA will host a Research Lecture Series during the Spring Quarter of 2002 highlighting the expertise of one of its distinguished senior researchers, Dr. V.K. Decyk. The weekly lectures are open to all interested persons. Students who wish to receive instruction credit can enroll in the UCLA course Physics 290 for S/U grade.

Fortran95 is a powerful, high-level language designed for mathematical modeling. It is a safe language that gives high performance, with many features attractive to scientists who want to spend a minimum amount of time programming, such as leak-proof dynamic memory. Although it is not a fully object-oriented language, it supports enough features that object-oriented design can be implemented. This is important because it allows more complex software to be constructed. These lectures are intended to introduce Fortran77 programmers to the new features of Fortran95. Strategies for how to modernize old Fortran77 codes incrementally, as well as object-oriented design in Fortran 95 will be discussed.

First meeting: April 3, 2002

Schedule: Every Wednesday, from 3-4:30 p.m.

Location: Kinsey 141

Contact: This e-mail address is being protected from spambots. You need JavaScript enabled to view it. ,


Part I: Overview of new features of Fortran90/95

Lecture 1: Types, Program Units, Flow Control, Iteration

Lecture 2: 1D Array Processing, Derived Types

Lecture 3: Multi-dimensional arrays, Pointers

Lecture 4: I/O, Advanced Features


Part II: Overview of Object-Oriented Concepts

Lecture 5: Information Hiding, Function Overloading, and Abstract Data Types

Lecture 6: Inheritance and Dynamic Dispatch


Part III: Case Study: QuickPIC Framework

Lecture 7: Frameworks Overview and Lower Level Classes [Serbo-Croatian]

Lecture 8: Middle Level Classes

Lecture 9: High Level Classes


Related Full Papers by V. K. Decyk, C. D. Norton, and B. K. Szymanski:

Introduction to Object-Oriented Concepts Using Fortran90, 1996

How to Express C++ Concepts in Fortran90, 1997

How to Support Inheritance and Run-Time Polymorphism in Fortran90, 1998

A Simplified Method for Implementing Run-Time Polymorphism in Fortran95, 2004

Object-Oriented Design Patterns in Scientific Codes using Fortran95, 2006

Object-Oriented Design Patterns in Fortran 90/95, 2007