Numerical Methods
Orthogonal Collocation Revisited
These pages contain an Ebook/Tutorial on the Orthogonal Collocation
method,
a.k.a. Pseudospectral method and Differential Quadrature method. The
project includes a monograph and open source with code in Matlab/Octave,
Python, C++, Fortran 90+ and Excel available for free download. 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 - January 2020
After a laps of a couple of years, I've now embarked on a major update. During the interim, I published a paper summarizing some of this work in the March, 2019 issued of Computer Methods in Applied Mechanics and Engineering, which is called Orthogonal Collocation Revisited. I also got carried away and spent far too much time studying Jacobi polynomials and implementing accurate and efficient calculation methods. These are detailed in the monograph. They are implemented in Fortran, but will be made available for the other languages through a shared library. Unfortunately, there are no new examples other than a "First Example", but I believe other examples can be added easily with the current document framework. The monograph approaches the subject from an historical perspective. You will not find a better description of how these methods evolved. The monograph is now in a single file and includes many links to ease navigation.
The updated monograph and new codes for Python and Fortran are now available. These codes are in a correct object oriented framework which make them easy to use. The codes are furnished in .zip files. The best way to download is to click on code downloads page which gives access to documentation and the current code files for each language. You can also go directly to the documentation and latest codes using the links below.
- monograph, (PDF 235pg, 4.6MB) (Jan. 2020)
- code documentation, (PDF 16pg, 370k) (Jan 2020)
- Python code (Jan 2020)
- Fortran code (Jan 2020)
A current outline is:
1. Introduction to the Basics
1.1 Trial Functions
1.2 Historical Perspective
1.3 A First Example
1.4 Road Map to this Monograph
2. Fundamental Calculations
2.1 Jacobi Polynomials
2.2 Differentiation of Jacobi Polynomials
2.3 Orthogonal Polynomial Roots
2.4 Quadrature and Barycentric Weights
2.5 Nodal Differentiation Matrices
2.6 Nodal Stiffness Matrices
2.7 Nodal Mass Matrices
2.8 Discrete Jacobi Transforms
2.9 Monomial Transforms
2.10 Software
2.11 Example Calculations
3 Boundary Value Problems
3.1 Diffusion/Conduction with Source
3.1.1 Orthogonal Collocation Method
3.1.2 Method of Moments
3.1.3 Galerkin Method
3.1.4 Mass Conservation and Fluxes
3.1.5 Symmetric and Nonlinear
Problems
3.1.6 Relationship to the Tau Method
3.1.7 Orthogonal Polynomial - Modal
Trial Functions
3.2 Chemical Reactor with Axial Dispersion
4. Parabolic Partial Differential Equations
4.1 Mass or Heat Transfer from Falling Liquid Film
4.1.1 Orthogonal Collocation
4.1.2 Galerkin Method
4.1.3 Continuous Solutions in z
4.1.4 Numerical Solutions in z
I originally called this project 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 50 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
the monograph.
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 will 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