On September 4, 2018, the Thermo Special Interest Group has initiated a review process by the CO-LaN membership of a new CAPE-OPEN interface specification, the Custom Data interface specification.
This inteface specification enables any subclass of Process Modelling Components implementing ICapeThermoMaterialContext, to store and retrieve custom data from a Material Object. The new interfaces manage the lifespan of custom data by storing it on Material Objects, the number of which is unknown to the Process Modelling Component.
The business case for the introduction of the Custom Data interface specification is particularly evident for a Property Package since such a Process Modelling Component will often receive calculation requests that are related to previous requests, and may require the same intermediate calculation results to be present. For example, an electrolyte Property Package may calculate the true composition of the aqueous phase as part of a phase equilibrium calculation. Some time later the Property Package may be asked to calculate entropy for the aqueous phase at the same temperature, pressure and composition, which requires the true composition to be known. Although the Property Package can re-calculate the true composition, this calculation may be computationally expensive. In order to speed up the calculations in such situations, it may be beneficial, between calculation requests, to store intermediate results, like the aqueous true composition, and therefore avoid recalculation. To facilitate this, the Custom Data interface is introduced.
The Property Package could in principle also internally cache Custom Data such as true composition. However, the difficulty with this approach is that the Property Package has no information on how many Material Objects will be associated with the Property Package nor information on the lifespan of the Material Object. This makes an internal cache of custom data inefficient on two accounts: firstly, it might be time-consuming for the Property Package to match the Material Object to a cache structure and, secondly, the Property Package has no way to know if and when the data stored is no longer relevant. Storing the custom data directly on the Material Object resolves both issues.
Any Process Modelling Component supporting ICapeThermoMaterialContext (Equilibrium Servers, Chemical Reaction Packages, etc…) can store any intermediate result on a Material Object: for example, a Property Package may store the solution to the equation of state for use in subsequent calculations.
The document was originally open for comments till October 4, 2018. At the CAPE-OPEN 2018 Annual Meeting, the Thermo SIG, while thanking the Members having already provided their comments, extended the deadline to November 1, 2018, in order to gather more input.
Comments received will be analyzed by the Thermo Special Interest Group to assess if any modification to the interface design or to the specification document is needed. A revision of the current document may then take place before asking CO-LaN Management Board for approval of a public release of the interface specification document.