The Thermo SIG met from 10:30 am till 12:30 pm (Central European Time).


Chemical Reaction interface specification.


BASF (represented by Sergej BLAGOV), AmsterCHEM (represented by Jasper van BATEN), Shell Global Solutions (represented by Mark STIJNMAN),  Michel PONS (Consultant as CTO)


Chemical Reaction interface specification.


Thermo SIG is struggling with a design that permits a smooth transition to support for Chemical Reactions especially by PMEs.

Thermo SIG had previously defined the requirement for a Property Package supporting reactions to check if the PME it is used into, is supporting Reactive Phase Equilibrium. But when this check should be done and with which outcome?

An objective can be to give the Property Package the knowledge about the PME capabilities as early as possible, meaning within the execution of the ICapeUtilities::Initialize function that comes at the very beginning of the interaction between a Property Package and a PME. But the Property Package, while initialized in order to be fully capable of executing Reactive Phase Equilibrium, may be later reconfigured so that it relies on non-reactive Phase Equilibrium: no reactions involved anymore. Should the initialization of any Property Package configured at first with Reactive Phase Equilibrium always fail when the PME does not support Reactive Phase Equilibrium? Or, before taking such a decision, should the Property Package wait till it knows it will be used as a Reactive Phase Equilibrium Server, so reaching the point of being called for a Phase Equilibrium calculation, through method CalcEquilibrium?

In the first case, the end-user will either have to reconfigure externally the Property Package, or within its Manager or will have to switch to another PME in order to make use of the Property Package. In the second case, the decision may take place at a number of places, i.e. within a number of operations executed by the Property Package. It could be during ICapeUtilities::Edit but there is no provision in the exceptions raised by the Edit method for a failure due to a missing functionality of the PME. It could be during a CheckEquilibriumSpec call but there also there is no provision for a suitable exception or an informative message. It could also happen when a CalcEquilibrium call is issued by the PME.

The first solution, i.e. failure at initialization of the Property Package if the PME functionality is not sufficient, can be seen as too harsh. Still it is simple to implement and delivers a clear message. On the other hand, leaving the decision at a number of possible places, while relying on the possible versatility of the Property Package, may cost the end-user some time during the setup of a simulation, because the end-user would be using the wrong tools to achieve an objective while not knowing that the tools do not work together for that purpose.

The next conference call is scheduled for January 21, 2020.



Picture of Sergej BLAGOV, BASF (2018)Picture of Jasper van BATEN (AmsterCHEM)Any CO-LaN Member interested in the Thermo SIG activities is welcome to join this Special Interest Group. Contact the co-leaders of the SIG for further information: Sergej BLAGOV at BASF () and Jasper van BATEN at AmsterCHEM (). The Thermo SIG is looking for additional parties, well versed into any aspect of thermodynamics applied to process simulation and willing to contribute to the maintenance and development of CAPE-OPEN interface specifications related to thermodynamical aspects.