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++

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

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
http://www.idris.fr/data/cours/lang/fortran/f90/F77.html
http://www.stanford.edu/class/me200c/tutorial_77
http://www2.ph.ed.ac.uk/~playfer/f77_tut.html

A good reference accesible freely on web is Numerical Recepies of Cambridge University Press (Not recommended for learning basics of fortran):
http://imf.ing.ucv.ve/_1numerical_recipe/Fortran77.html

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

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:
http://www.math.mcmaster.ca/~bprotas/MATH745b/matlab_fem.pdf