Courbes de titrage acido-basiques avec Python

Vous trouverez ici plusieurs petits programmes en Python pour tracer des modèles de courbes de titrages pH-métrique avec Python. Vous trouverez sur cette page les cas des monoacides, diacides et triacides, ainsi que les monobases, dibases et tribases.

En modifiant les paramètres acido-basiques au début du fichier (volumes de prises d’essai, pKa…), on peut ainsi adapter le graphe selon les besoins d’un exercice.

Les calculs s’appuient sur l’article “Mathematical modeling of titration curves“, de Daniel A. Morales, trouvé sur le web.

Ce dernier démontre que, pour le titrage d’un monoacide, la [H3O+] peut être calculée en trouvant la racine d’un polynôme de degré 2 (espèce dosée forte) ou degré 3 (espèce dosée faible).

Le programme utilise une commande pour résoudre ce polynôme.

À la fin du programme, une commande produit une sauvegarde du graphe en fichier image .png destiné à être inséré dans un document.

Les paramètres tels que les graduations de la grille secondaire se modifient facilement.

Il est facile d’illustrer l’influence du pKa sur l’allure de la courbe.

Merci à mon collègue de maths pour avoir rédigé l’essentiel de la partie mathématique.

Les 4 courbes de titrage en une seule figure (grille de graphiques) :

Et le fichier Python qui génère cette figure :


Ajout : modification des courbes de titrages Acide Fort et Acide faible, pour afficher l’évolution des concentrations avant l’équivalence :

Titrage acide fort : concentration en ion oxonium H3O+

Titrage base forte : concentration en ion hydroxyde HO-

Titrage acide faible : concentration en acide dosé et en sa base conjuguée.


Ajout : courbes de titrages pH-métriques de diacides et de dibases

Ajout : titrages pH-métriques d’un triacide ou d’une tribase

Source pour les calculs : https://pubs.acs.org/doi/10.1021/acs.jchemed.0c01144

Voir également cet autre article, plus complet : https://www.astrolabe-science.fr/diagrammes-distribution-titrages-polyacides-polybases/

4 Comments

  1. cherchari said:

    c’est magnifique

    1 avril 2022
  2. Frédéric said:

    Bonjour, vraiment très bon article. Ne maitrisant pas spécialement le codage python vous serait il possible de réaliser les traçages de courbes pour les diacides et les triacides.
    En tout cas bravo pour votre travail, je mets votre site dans les favoris.

    28 septembre 2021
  3. David said:

    Merci pour ce retour.
    Votre suggestion est intéressante ;je vais voir ce que je peux faire. Je publierai le résultat à la suite de l’article.

    25 juillet 2021
  4. Anonyme said:

    Merci beaucoup pour ce magnifique article.
    J’aimerais aussi que vous m’envoyiez un code Python qui dessine une courbe trace les concentration espèces chimiques en fonction du volume versé cas de Dosage d’un base par une acide forte python

    24 juillet 2021

Laisser un commentaire