A.1. Solution File Format

The XMLdata.zip is a standard zip file (you can open it with WinZip or any other zip utility) that contains the following files:

  • chemkindata.dtd -- A DTD document defining the structure of an XML file

  • XMLdata-1.xml.zip -- A zipped XML document which serves as a checkpoint for GetSolution utility (internal use only)

  • XMLdata0.xml.zip -- A zipped XML document containing solution size information and solution header

  • XMLdata1.xml.zip -- A zipped XML document containing chemistry mechanism data

  • XMLdata2.xml.zip -- A zipped XML document containing solution data

  • And possibly many more solution-data zipped XML documents

The purpose of a DTD (Document Type Definition) is to define the legal building blocks of an XML document. It defines the document structure with a list of legal elements. The chemkindata.dtd file documents the file format for the Ansys Chemkin .xml output files. For more information on DTD files, the web tutorial at https://www.w3schools.com/xml/xml_dtd_intro.asp is a good resource.

If the XML file’s contents were small, we would simply store a single XML file. However, since solution files can be quite large (sometimes exceeding 100 MB even when zipped), we process what is logically and conceptually a single XML file as a series of separate files. Each of those files is kept zipped until needed.

Breaking a single XML file into a series of separate files poses some problems for standard XML file readers because each file is not, by itself, a proper XML file (because opening or closing tags may be in different files). So, we have a more complex XML file reader module that drives the open/parsing/closing of the XML files. Since XML files store information in character mode, the processing of an XML solution file is slower than processing of binary data stored in save.bin. In exchange for the slower performance, we get cross-platform portability, improved size scalability, and, most-importantly, cross-application file format consistency. This lays the foundation for creating networks of heterogeneous reactor models, which we have made much more accessible since Ansys Chemkin 4.

Occasionally an XML file will require more RAM/swap space than the system has available and our XML reader module (part of GetSolution) will abnormally terminate. Or, for some reason, the user will kill an Aurora or other application executable job; or the Aurora or other application executable will die due to a bug or system limitation. Any of these reasons can leave XMLdata*.xml files in unzipped states. These files are essentially temp files and need to be deleted prior to the next use of the XML reader module contained in GetSolution and in Ansys Chemkin.

This XML reader (and writer) module is a complex, internal part of our Ansys Chemkin program suite and can not be invoked directly by any user-written programs. We make the GetSolution program available for use in scripting/batch applications. If for some reason you want more details about the internal XML structure contained in the XMLdata.zip files, please consult the DTD document.