Cantera / enhancements

Repository for proposed and ongoing enhancements to Cantera
11 stars 5 forks source link

C++ Equivalent of SolutionArray #137

Closed ischoegl closed 1 year ago

ischoegl commented 2 years ago

Abstract

In Python, the SolutionArray class offers a convenient way of handling multiple states. Equivalent objects are not available for other API's, where in particular a means for efficient file I/O would be important. While there now is the ability to save to YAML as ASCII text (see Cantera/cantera#1112), this will create unnecessarily large files for large mechanisms.

Discussed in https://github.com/Cantera/enhancements/discussions/119

Originally posted by **ischoegl** October 6, 2021 In the Python API, `SolutionArray` objects hold multiple states, which allows for efficient manipulation of time series, spatial profiles etc. The implementation of this feature uses Python (Cython) exclusively, where an equivalent capability does not exist in the C++ core. Beyond manipulation of data sets, `SolutionArray` objects also offers a convenient vehicle to save and load data (e.g. CSV, HDF5), where interoperability between different interfaces would be beneficial. This discussion is meant to collect some ideas within this context.

Other Thoughts

For a potential underlying storage structure, I am also wondering whether the discussion in #91 should be given some thought.