Code for solving the example problems may be downloaded from
this page. Four different languages are supported: (1) Matlab/Octave, (2)
Fortran 90/95/2xxx (3) C++ and (4) Excel. The Matlab/Octave code has been tested
using Octave 4.0.0 running under the Cygwin system.
I am told that Octave is very compatible with Matlab
provided Octave specific syntax is avoided. I have tried to write
compatible code, but I have no way to
check it using a true Matlab system.
If you have trouble with the code, please contact me,
The Fortran and C++ code has been tested using the GNU compilers running under
Cygwin. Excel 2010 has been used for the spreadsheet code.
The zip files contain code for solving the example problems. The
calculations are facilitated with code for calculating points, quadrature weights, derivative
operators, etc. which was developed using the methods described in Appendix A.
There is also a test program which demonstrates how to call the various functions and use the results
for each of the language systems. Some utility
programs, e.g. linear solver software, are provided to aide in solution of the
a simple manual explaining the utility programs used to solve the example
- contains the Matlab and Octave compatible files for solving the example
problems. The "mn" subdirectory contains the Matlab executable (.mex)
files (including C++ source) and various function files used by the
examples. The following main programs are at the top level:
OCtest.m - program to call the
functions to get points, weights, derivatives, interpolating polynomial etc.
- ex1_non.m - simple program to
solve the nonsymmetric diffusion/reaction example (uses .m files)
- ex1_nonx.m - more complex
program for nonsymmetric diffusion reaction problem (uses .mex files)
- ex1_sym.m - simple code for symmetric
diffusion/reaction problem (uses .m files)
- ex1_symx.m - code for symmetric
reaction/diffusion example (uses .mex files)
exheatflux.m - program to solve a simple nonlinear
heat flux problem described by
Finlayson (1972, pp 16-19, )
- contains OCCdll.dll, basic code, and spreadsheets to demonstrate. Test.xls
uses the dll to get points, weights, derivatives, etc. Ex01G.xls and
Ex01L.xls solves the nonsymmetric diffusion/reaction example. Also includes
code to solve a linear system of equations, for symmetric or nonsymmetric
matrix. You must put OCCdll.dll where it can be found by Excel (either in
the "current" directory or somewhere on the path). Also remember to
use ctrl-alt-F9 to force a spreadsheet update.
- includes support code for calculating points, weights, derivatives etc.
and Test.f90 and other support routines. A makefile
is provided in the object code "o" directory. It is designed for
compiling in the "o" directory underneath the source directory.
includes the Orthcc class (in occ.cpp and occ.h), also includes a simple
array class (Array.h and Array.cpp) which includes linear solver software.
occtest.cpp is a code which shows how to call the functions and use results
from the Orthcc class. ex1.cpp and ex1.h contain code which solves the first
is provided. It is designed for execution from the "o" directory underneath the source directory.