Programming Languages

IITB Logo Manish Kumar
Assistant Professor

Department of Civil Engineering
Indian Institute of Technology Bombay, Mumbai

Headline 3

insert content here

Programming Languages


C++ is a very powerful object oriented programming language. OpenSees is written primarily in C++ and its required if you plan to write a new material or element in OpenSees. A useful reference that was sufficient for me to get the background of C++ was:
Object oriented programming in C++(4th edition): Robert Lafore


Fortran has been used for a long time and is very simple and powerful for numerical computations. It is reuired if you plan to write a new user subrouitne(UMAT, VUMAT, UEL etc.) in ABAQUS.
Introductory F77 notes are available on

A good reference accesible freely on web is Numerical Recepies of Cambridge University Press (Not recommended for learning basics of fortran):

Books that I explored for introductory Fortran 77 were:
Structured FORTRAN 77 for engineers and scientists: Delores M. Etter
Fortran 90 for scientists and engineers: Brian D Hahn


Matlab is one of the most widely used tool by engineers and scientists for numerical computations. It has a vast library of pre-defined mathematical functions and routines that helps programmer to write codes that are much shorter that if the same program is written in C++ or Fortran. However, this comes at a cost of longer executation time than pre-compiled languages like C++ and Fortran.
Wide literature and support is available for Matlab on web. Some of the resources that I found useful for my coursework and research while doing Matlab programming are listed below:

Finite Element Programming using Matlab: