(mise à jour : 30-01-2011)

cinet.chim

Présentation de Sa3.3

logo Sa



Présentation de Sa3.3



Sa (Simulation - ajustement) permet de simuler le comportement d'un modèle, en fonction du temps ou d'une autre variable indépendante, et d'en ajuster les paramètres sur des données expérimentales, le cas échéant. Le modèle peut être constitué d'équations algébriques, d'équations différentielles, ou d'un mélange des deux. Le programme a été conçu particulièrement pour traiter des modèles cinétiques, mais pas seulement.

Par paramètres on entend tout ce qui peut influencer le comportement du modèle et qui est supposé constant au cours d'une simulation. Cela peut être, par exemple, les constantes de vitesse des réactions ou les constantes d'équilibre, les coefficients d'absorption UV-Visible ou n'importe quelle propriété physique des différentes espèces, des vitesses d'agitation, des concentrations initiales, des flux lumineux, etc.

Les variables, en nombre quelconque, sont l'ensemble de ce qu'on doit calculer par la simulation (concentrations, absorbance, etc.), en fonction d'une variable indépendante (temps, concentration d'une espèce, etc.).

Sa permet de fonctionner sous trois modes principaux :

- simulation simple : calcul des valeurs des variables pour un jeu de paramètres donné, en fonction de la variable indépendante. On dispose pour cela d'intégrateurs numériques performants, soit pour calculer l'ensemble d'une évolution, soit pour atteindre directement un état stationnaire.

- simulation avec calcul d'erreur : la simulation est suivie d'un calcul de la "distance" entre les données calculées et des données expérimentales, appelée erreur ou résiduel. L'effet de la modification d'un ou plusieurs paramètres peut ainsi être mesuré objectivement par la variation du résiduel.

- optimisation : un algorithme itératif qui modifie automatiquement les paramètres ajustables dans le but de rendre le résiduel minimum. On parle alors d'ajustement du modèle sur les données expérimentales. Chaque paramètre peut être déclaré fixe ou ajustable.

Plusieurs méthodes d'optimisation sont disponibles, y compris un algorithme de Recuit simulé.


Une particularité de Sa est qu'il peut effectuer des ajustements non seulement multi-variables mais aussi multi-expériences, c'est-à-dire qu'il peut ajuster les paramètres d'un modèle simultanément sur les données provenant de plusieurs expériences indépendantes (par exemple, des cinétiques avec des concentrations initiales différentes).

La programmation de la partie spécifique à un modèle donné est à la charge de l'utilisateur. C'est ce qui a paru le plus efficace pour pouvoir aborder une très grande variété de problèmes, puisque virtuellement tout est possible, à condition de savoir le programmer. D'autre part, et ce n'est pas un mince avantage, cette façon de faire devrait garantir que l'utilisateur sache exactement ce qu'il fait, ce qui n'est pas toujours le cas avec certains logiciels.

Cette approche va de pair, naturellement, avec la fourniture de tous les fichiers sources de Sa, de sorte qu'on puisse savoir exactement tout ce qui est fait et comment c'est fait, et éventuellement modifier certains de ces fichiers.

Un premier prix à payer pour cela est que l'utilisateur soit en mesure d'écrire ou de modifier "son" programme. En réalité, des notions de programmation très élémentaires suffisent la plupart du temps. Des exemples commentés sont fournis dans ce but, en complément du Manuel.

En deuxième lieu, il faut pouvoir compiler cette partie, ou tout autre partie, du programme et la lier aux autres parties, c'est pourquoi le programme Sa est distribué avec un "nécessaire de compilation" (compilateur et librairies). En réalité, vous ne disposerez pas de programme exécutable Sa dès le départ, puisque c'est à vous d'en écrire une (petite) partie. Vous disposerez par contre d'un assistant, Nestor, dont le rôle principal est :

- de vous aider à écrire votre partie personnelle, à l'aide d'un éditeur adapté et de modèles des structures de base

- de gérer les principaux fichiers dont vous aurez besoin

- d'automatiser la compilation des exécutables

... et bien d'autres choses encore, comme l'écriture automatique des équations cinétiques et du programme correspondant, à partir de l'écriture des réactions sous la forme habituelle (module Modan).


Sa peut être compilé avec une interface et une aide en français ou en anglais, comme la documentation et les exemples commentés.

Les parties du cours qui le permettent renvoient à des exercices de simulation ou d'optimisation, dont le but principal est de permettre de "vivre" la cinétique, mais qui sont aussi un guide d'utilisation du logiciel. Les exercice 1 et 2 pour la simulation, puis 16 et 17 pour l'ajustement, en particulier, sont conçus comme de véritables tutoriels pour débuter. Dans chaque exercice, le menu Comment faire... avec Sa ouvre une page de liens vers l'ensemble des explications et exemples.