3.2.5. The CKSoln.ckcsv File

The CKSoln.ckcsv file produced by the GetSolution utility is composed of blocks of data. These blocks are either rows of 1-D arrays of data or 2-D data structures. Each block begins with a label row that provides either a plot set or a contour set name and then specifies the number of elements in the 1-D array or 2-D matrix (for contour data). Array block labels are then followed by 1 or more rows of array data with the data name, units (or empty parentheses), and data values. Contour block labels are followed by 2 axis-rows and then the Z values for each (X,Y) tuple on a row by row basis. The Z-variable and units are specified on the label_2D line.

For instance, these are two 1-D array block labels:

label, solution_no_1, 334
label, rate-of-production_for_solution_no_1, 334

These is one 2-D contour block labels and axes data (truncated):

label_2D, Temperature, (K), 5, 15
Axial_coordinate, (cm), 0.000000e+000, <4 more data values>
Cross-flow_coordinate, (cm), 2.220446e-016, <14 more data
values>

Note:  When there are more than 256 values (labels, units, data) per row, Microsoft® Excel® will complain that it cannot completely load the data because it runs out of columns. You can transpose the data, reduce it, etc., to eliminate this problem.


There is not a 1-to-1 correspondence between the Solution Sets listed in the Data Selection dialog of the Ansys Chemkin Visualizer and the resulting label blocks in the CKSoln.ckcsv file; when adjacent 1-D arrays in different Solution Sets have the same length, we continue to append to the same block. This results in fewer plot sets in the Plot X-Y selector, which makes it easier to plot data from different Solution Sets at the same time.

The XMLdata.zip file is composed of a set of zipped files. Each zipped data file contains an .xml file; but these .xml files are interdependent insofar as an xml <tag> may begin in one file and be closed in the following file. For this reason, they may not display properly if examined one at a time. Each of these .xml files is roughly 10 MB prior to zipping. The overall processing sequence is to extract the zip files, sequentially open them one at a time to process the xml contents, and then to re-zip them back into XMLdata.zip. If this process is interrupted (for instance, runs out of memory or disk space), it can leave .zip and .xml files in the Working Directory. For this reason, the GetSolution utility always does a "cleanup" step first. You may see messages saying Could Not Find XMLdata*.xml, or similar. These are normal and mean there were no stray files needing to be deleted.

Since the overall process is sequential, the data is extracted in blocks when the CKSoln.ckcsv file is constructed. If we were only extracting one block of data, and it was not too large, it might have been practical to transpose the data into columnar format in the .csv file. However, the different blocks do not necessarily have the same length. At the time of writing block 1, we do not know how many more blocks we will be writing. Therefore, it is not feasible to output the multiple blocks in columnar format. This may not be immediately obvious to anyone who is looking at a simple problem with only one block of data. See the cylindrical_shear_flow__cvd.ckprj sample problem for an example of the complexity of having both 1-D and 2-D blocks of data in a .csv file.