CellML 1.0 API - Historical Documentation

Historical documentation of the CellML 1.0 API and its C++ implementation.

While this code is still in use in the CMISS software, it is no longer supported and the code is no longer available from SourceForge as noted below. The documentation below is maintained for historical reference only. New developers looking to support CellML should take a look at the Auckland CellML DOM API implementation.

Historical information

The C++ code is available through the SourceForge CVS system - this page has good instructions on how to use the anonymous pserver to check out the source code. You can also download gzipped tarballs of the source from the file release page, with the most recent version available under the libcellml-c++ package on the summary page and older versions under the File List.

To build the API library, you need to point the Makefile at a recent version of the Xerces-C XML parser from the Apache XML Project (>= version 2.2.0).

The Solver example application in cellml_api/c++/samples/Solver is a good example to look at. This example program takes in a CellML model file, validates it, and writes out a FORTRAN version of the mathematics. This example might be useful for anyone trying to get their software to import CellML and convert the mathematics into a format you can use. In the future, I'll be trying to add a few more example applications - so I'm open to any suggestions.

I currently have success building the API library and the Solver example (and Xerces-C) under Linux (egcs-2.91.66, gcc 2.96 and 3.2) and IRIX 6.5 (MIPSpro Compilers: Version 7.3.1.3m), and AIX 5.1 (using the AIX compilers).

I have now added an example application which will generate a FORTRAN program from a CellML model which will integrate the ordinary differential equations given in the model using the RADAU stiff integrator.