Spécifications
Les principales fonctionnalités de la version actuelle de CHESS sont
- le calcul de spéciation d'une solution en présence d'espèces aqueuses, de gaz, de colloïdes organiques et/ou inorganiques et de minéraux
- l'oxydo-réduction
- la précipitation et la dissolution de phases minérales, à l'équilibre ou sous contrôle cinétique
-
les réactions de sorption au sens large (réactions multi-sites associées à différentes surfaces, minérales ou organiques) :
- complexation de surface
- complexation organique
- échange ionique
- approche Kd
-
la simulation de chemins réactionnels tels que :
- titrage
- lixiviation
- mélange de deux solutions
- la dépendance vis-à-vis de la température (de 0 à 300 C)
-
la création de diagrammes :
- diagramme de Piper correspondant à une solution ou un chemin réactionnel complet
- diagramme de type activité/activité (Pourbaix, solubilité, etc.)
-
la gestion de différentes bases de données :
- selection de plusieurs bases de données thermodynamiques
- grand nombre d'options afin d'adapter la base au cas précis
- "analyser", un outil puissant pour l'interrogation de la base
Le code est écrit en C++ et repose sur le principe de «l'orienté objet», faisant appel à la programmation conforme aux règles de qualité actuellement en vigueur. La création d'objets génériques et réutilisables s'est effectivement avérée très intéressante et efficace pour ce type de modèles. Le principe de l'orienté objet s'applique à différentes échelles. Par exemple, une espèce chimique est un objet ayant certaines caractéristiques générales et spécifiques et un colloïde est un objet dérivé d'une espèce aqueuse ayant certaines caractéristiques supplémentaires, telles que surface spécifique et sites réactifs.
Le principe de l'orienté objet s'applique également à l'échelle «modulaire». Par exemple, un objet ou module gère la lecture d'une base de données thermodynamiques, tandis qu'un autre module prend en compte le calcul de l'équilibre. CHESS est basé sur une librairie d'objets qui sont échangeables avec un modèle de transport. Le partage des objets de la librairie s'est avéré particulièrement utile pour coupler CHESS à d'autres codes comme les modèles d'écoulement hydrogéologique R2D2 et METIS du CIG, le modèle d'écoulement hydrologique (rivière, eau souterraine) de EDF, SUBIEF ou encore CASTEM, le modèle hydro-mécanique du CEA.