Numerical Methods       

Orthogonal Collocation Revisited

On these pages I am constructing an Ebook/Tutorial on the Orthogonal Collocation, a.k.a. Pseudospectral, method, which includes source code for free download (in Matlab/Octave, C++, Fortran 90 and Excel).  It is really more than a tutorial, because it explains some aspects of the method which are not clear or wrong in much of the existing literature.


Latest News - September 2017

Since the last update I have been busy playing catch up with coding. All of the calculations discussed in the text are now coded in Matlab and Fortran. Unfortunately, I am still behind with C++ and Excel. After upgrading computers, I found that the Matlab .mex files and the dll for Excel no longer worked. I decided to give up on using compiled code for Matlab and do everything with native Matlab .m files. I have improved some of the fundamental calculations, e.g. polynomial root calculations, so they still run efficiently. A considerable effort was expended on Matlab code. There have also been some small improvements in Chapter 2 and major improvements in Section 3.2. I will be working on a 64-bit dll for Excel and on the C++ code. I'm not sure which topic I will tackle next, either Spring Dynamics or Finite Elements. It would be helpful if I could get some feedback on who is following this project and your of interests. My email is


The text of this monograph is provided as PDF files (now with bookmarks) so they can be printed with full formatting and so I don't have to fiddle with equations in HTML.  Below is an outline that includes links to all the files that are available. I have organized it so you should be able to start at the beginning and work through. The "Fundamental Calculations" chapter is sort of a reference. You may chose to scan it at first and then come back to it later. The bulk of the development starts with the "Boundary Value Problems." If you learn by doing, then having all the examples in code will allow you to do your own experimentation.

Introduction to the Basics ( May 2017)

Fundamental Calculations ( Aug 2017)

Boundary Value Problems ( Aug 2017)

Parabolic Problems - Falling Liquid Film (March 2017)

Hyperbolic Problems - Spring Dynamics (coming)

Finite Element Method (coming)

Appendix B: Galerkin Method with Flux Boundary Conditions (May 2016)


Code download page (manual and codes)

I am calling this Orthogonal Collocation Revisited, because after my involvement with orthogonal collocation (OC) during the early days in the 1970’s, I had reason to use it again more recently.  I was writing a model of an automotive valve train, and OC seemed to be ideal for treating the valve springs. As I started to write a description of the model, I reviewed OC over the last 45 years and discovered that some aspects of the method have never been explained (at least not clearly) and some information is missing or just plain wrong. Documentation of the valve train model got bogged down explaining the fundamentals of OC. This problem prompted me to write this monograph. At first I thought I would do a short webpage and perhaps a note to a journal, but as you can see, it has blossomed well beyond that.

This is a pragmatic approach to solving differential equations. I am particularly concerned about acquiring accurate engineering quantities from the solution, e.g. boundary fluxes. In most real world problems, one is primarily interested in how an object interacts with its surroundings, e.g. the transfer of heat from a fluid to a solid, and this invariably involves flux calculations. Flux calculations are virtually ignored in some of the more mathematical articles and texts about these methods.

I first lay the fundamental framework for orthogonal collocation.  Then, I show what works and what does not work using a series of examples.  In many cases the examples are solved not only with orthogonal collocation, but also with other methods for comparison, e.g. Galerkin, Moments, finite elements and finite differences.  The examples also cover a variety of problems: boundary value problems, parabolic equations, hyperbolic equations, one and two spatial dimensions.  The examples show the advantages and disadvantages of the method for each type of problem.

In developing this material, I have assumed you are familiar with basic linear algebra such as Gaussian elimination, matrix factorization and eigenvalues and eigenvectors. Furthermore, I assume you understand how to take a differential equation and put in nondimensional form. Finally, I assume you have some familiarity with whichever computer language you chose to work in.


You are visitor number

since March 21, 2011