Les entrailles du calcul

Calculer la recette d’un émail à partir de sa formule n’a rien d’immédiat. Qui s’est appliqué à le faire à la main sait à quel point c’est fastidieux, sauf à simplifier drastiquement la composition des matières premières.

C’est typiquement le genre de calcul qui se prête à l’automatisation. Encore faut-il présenter les choses de telle manière que la mise en équation puisse être traitée par un logiciel.

Détails de la mise en équation, et résolution du système avec Libre Office.

Terminologie

Celle que je vais employer ici n’a rien d’absolu. Je la précise pour qu’on s’entende bien.

Composant

J’appelle composants, ou oxydes, les oxydes qui composent la glaçure. J’ai pris en compte 18 composants, 18 oxydes, qu’on voit apparaître dans le tableau de saisie de la formule.

composants emaux

Ingrédients

J’appelle ingrédients les produits qu’on mélange pour préparer une glaçure. Ce sont les poudres telles qu’achetées chez le marchand.

Les ingrédients contiennent des oxydes en proportions variées, et ces proportions sont connues (fournies par le revendeur).

Mise en équation à partir d'un exemple

Supposons que je veuille réaliser cette formule :

0,4 KNaO
0,6 CaO
0,6 Al2O36 SiO2
0,4 KNaO
0,6 CaO
0,6 Al2O36 SiO2

Et que pour la réaliser, je dispose d’un feldspath, de carbonate de chaux, de kaolin et de silice, ingrédients dont la composition  molaire est précisée dans un tableau de composition molaire des matières premières :

FeldspathKaolinCarbonate de chauxSilice C400
KNaO1000
CaO0010
Al2O31100
SiO26201
FeldspathKaolinCarbonate de chauxSilice C400
KNaO1000
CaO0010
Al2O31100
SiO26201

Ce tableau se lit en colonnes. Ainsi, une mole de feldspath contient 1 mole de KNaO, 0 mole de CaO, 1 mole de Al2O3 et 6 moles de SiO2. Et ainsi de suite.

Mise en équation

Dans le tableau de composition des matières premières, la formule voulue a été ajoutée dans la colonne de droite, et des coefficients multiplicateurs X_{1}, X_{2}, X_{3}, X_{4} ont été ajouté dans la ligne du haut.

Coefficient multiplicateurX1X2X3X4
FeldspathKaolinCarbonate de chauxSilice C400Formule voulue
KNaO10000,4 KNaO
CaO00100,6 CaO
Al2O311000,6 Al2O3
SiO262016 SiO2

Trouver la recette revient à déterminer la valeur de ces coefficients.

Pour bien comprendre cette notion de coefficient, on peut dès maintenant déterminer X_{1}, le coefficient multiplicateur du feldspath. Cet ingrédient est le seul à fournir le KNaO, donc si je mettais 1 mole de feldspath, j’aurais 1 mole de KNaO dans ma formule.

Or, il en faut 0,4 mol, on en déduit donc que X_{1}=0,4.

Le coefficient X_{1} étant défini, je sais que le feldspath apportera par ailleurs X_{1} mol d’Al2O3, et 6X_{1} mol de SiO2, soit respectivement 0,4mol et 2,4 mol.

Cette information sera prise en compte pour calculer tous les coefficients suivants.

Mais nous n’allons pas poursuivre la résolution numérique. Notre objectif ici, c’est de faire une mise en équation pour pouvoir étendre notre raisonnement à des recettes plus complexes.

Réalisons un nouveau tableau, dans lequel on applique, pour chaque ingrédient son coefficient multiplicateur.

Coefficient multiplicateurX1X2X3X4
FeldspathKaolinCarbonate de chauxSilice C400Formule voulue
KNaOX10000,4 KNaO
CaO00X300,6 CaO
Al2O3X1X2000,6 Al2O3
SiO26.X12.X20X46 SiO2

En lisant ligne par ligne, on comprend que c’est l’addition des quantités de chaque ingrédient qui doit réaliser ce qui se trouve dans la formule. C’est ainsi qu’on écrit, pour la ligne du KNaO :

X_{1}+0+0+0=0,4 soit : X_{1}=0,4

En procédant de même pour les autres lignes, on obtient le système d’équations suivant :

\left\lbrace\begin{array}{llll}X_{1}=0,4\\X_{3}=0,6\\X_{1}+X_{2}=0,6\\6X_{1}+2X_{2}+X{4}=6\end{array}\right.

Sa résolution est simple, on trouve :

\left\lbrace\begin{array}{llll}X_{1}=0,4\\X_{2}=0,2\\X_{3}=0,6\\X_{4}=3,2\end{array}\right.

En reportant ces résultats dans le tableau, on voit immédiatement que le problème est correctement résolu.

Coefficient multiplicateur0,40,20,63,2
FeldspathKaolinCarbonate de chauxSilice C400Formule
KNaO0,40000,4 KNaO
CaO000,600,6 CaO
Al2O30,40,2000,6 Al2O3
SiO22,40,403,26 SiO2

Notre recette sera donc constituée de :

  • 0,4 mol de feldspath
  • 0,2 mol de kaolin
  • 0,6 mol de carbonate de chaux
  • 3,2 mole de Silice C400

Il restera à convertir ça en masses, à l’aide des masses molaires de nos ingrédients et de la perte au feu.

Mise en équations sous forme de matrices

Les matrices sont ni plus ni moins des tableaux qu’on peut multiplier entre eux, moyennant quelques règles. L’intérêt de présenter nos calculs en matrices, c’est qu’on pourra se servir de Libre Office pour faire la résolution à notre place.

Reprenons le tableau de composition molaire des matières premières.

Coefficient multiplicateurX1X2X3X4
FeldspathKaolinCarbonate de chauxSilice C400Formule voulue
KNaO10000,4 KNaO
CaO00100,6 CaO
Al2O311000,6 Al2O3
SiO262016 SiO2

Appelons matrice M, la partie numérique de ce tableau. M=\begin{pmatrix}1&0&0&0\\0&0&1&0\\1&1&0&0\\6&2&0&1\end{pmatrix}

Mettons les coeficients multiplicateurs sous la forme d’une matrice colonne X (ainsi appelée parce qu’elle n’a qu’une colonne, on l’appellera aussi “vecteur colonne”).

X=\begin{pmatrix}X_{1}\\X_{2}\\X_{3}\\X_{4}\end{pmatrix}

Et enfin, mettons les nombres de moles de la formule sous la forme d’un vecteur colonne qu’on appelle R

R=\begin{pmatrix}R_{1}\\R_{2}\\R_{3}\\R_{4}\end{pmatrix}=\begin{pmatrix}0,4\\0,6\\0,6\\6\end{pmatrix}

C’est là que la magie commence : écrire la partie de gauche du système d’équations précédemment établi

\left\lbrace\begin{array}{llll}X_{1}=0,4\\X_{3}=0,6\\X_{1}+X_{2}=0,6\\6X_{1}+2X_{2}+X{4}=6\end{array}\right.

revient exactement à faire le produit de matrices   M\cdot X

Et écrire le système d’équations complet revient à écrire l’équation matricielle M\cdot X=R, c’est à dire

\begin{pmatrix}1&0&0&0\\0&0&1&0\\1&1&0&0\\6&2&0&1\end{pmatrix}\begin{pmatrix}X_{1}\\X_{2}\\X_{3}\\X_{4}\end{pmatrix}=\begin{pmatrix}0,4\\0,6\\0,6\\6\end{pmatrix}

Résolution de l'équation matricielle

Comme c’est le vecteur colonne X qu’on cherche, on aimerait bien “passer la matrice M de l’autre côté” de l’équation.

Rien de plus simple si l’on suppose que la matrice M est inversible, ce que nous admettrons pour le moment. (Nous reviendrons plus tard sur cette hypothèse loin d’être anodine.)

On peut alors écrire, si M^{-1} est la matrice inverse de M :X=M^{-1}\cdot R

Pour avoir notre recette, “il suffit” donc d’inverser la matrice M. C’est là que ça devient vraiment intéressant, parce que Libre Office calc sait inverser les matrices (quand elles sont inversibles, évidemment…), et bien sûr, il sait aussi faire des produits de matrices.

Je demande donc à Libre Office d’inverser la matrice pour moi, et il me donne le résultat suivant :

M^{-1}=\begin{pmatrix}1&0&0&0\\-1&0&1&0\\0&1&0&0\\-4&0&-2&1\end{pmatrix}

Ayant M^{-1}, il nous reste à effectuer le produit M^{-1}\cdot R pour avoir ce qu’on cherche, à savoir notre vecteur colonne X. Je le fais à la main, pour le plaisir 😉 :

\begin{pmatrix}1&0&0&0\\-1&0&1&0\\0&1&0&0\\-4&0&-2&1\end{pmatrix}\begin{pmatrix}0,4\\0,6\\0,6\\6\end{pmatrix}=\begin{pmatrix}1\times0,4+0\times0,6+0\times0,6+0\times6\\-1\times0,4+0\times0,6+1\times0,6+0\times6\\0\times0,4+1\times0,6+0\times0,6+0\times6\\-4\times0,4+0\times0,6-2\times0,6+1\times6\end{pmatrix}

Soit finalement, X=\begin{pmatrix}0,4\\0,2\\0,6\\3,2\end{pmatrix}

Remettons ce résultat en regard de notre tableau de tout à l’heure :

Coefficient multiplicateur0,40,20,63,2
FeldspathKaolinCarbonate de chauxSilice C400Formule
KNaO0,40000,4 KNaO
CaO000,600,6 CaO
Al2O30,40,2000,6 Al2O3
SiO22,40,403,26 SiO2

On retrouve bien les coefficients multiplicateurs que nous avions calculés.

Application au problème général

18 équations et 18 inconnues

Pour notre exemple, nous avons limité le problème à 4 oxydes et 4 ingrédients. Mais pour que le calcul traite tous les cas possibles, il doit prendre en compte les 18 oxydes possiblement contenus dans la formule. Le tableau qu’on a fait dans l’exemple comportera donc 18 lignes au lieu de 4, et le système d’équations qu’on avait écrit et qui comportait 4 lignes, en comportera 18.

On aura donc 18 équations.

C’est maintenant qu’on revient sur l’hypothèse selon laquelle la matrice M est inversible.

Pour qu’elle le soit, il faut :

  1. Qu’elle soit “carrée”
    C’est à dire qu’elle comporte le même nombre de lignes et de colonnes. Pour que ce soit le cas, il faut donc 18 colonnes, c’est à dire 18 coefficients multiplicateurs, c’est à dire 18 ingrédients.
  2. Que ces ingrédients soient “libres” entre eux
    C’est à dire qu’on ne puisse pas déduire la composition de l’un en combinant la composition des autres (en corollaire, on ne peut pas mettre deux fois le même ingrédient).
  3. Qu’elle ne comporte aucune ligne nulle
    C’est à dire que les ingrédients sont sélectionnés de telle manière que tous les oxydes peuvent être fournis.

Je sais que c’est un peu théorique, mais soyez rassurés si vous ne comprenez pas ce passage, ça n’a pas d’importance pour comprendre la suite. D’un point de vue pratique dans l’utilisation de la page de calcul des recettes, les trois propositions ci-dessus expliquent qu’on utilise exactement 18 ingrédients, et que si on sélectionne deux fois le même via les listes dans la page de calcul, cela renvoie une erreur.

Du coup, avec tout ça, voilà l’allure du tableau qu’on obtient, avec ses 18 lignes et ses 18 colonnes, c’est notre nouvelle matrice M :

Ingrédients
123456789101112131415161718
Na2O0,50,20,23
K2O0,50,7
CaO0,110,10,5
MgO10,1
Li2O1
ZnO1
BaO1
CuO1
NiO1
SrO1
Al2O310,91
Fe2O31
B2O31
SiO26511,520,20,110,5
TiO21
SnO21
ZrO20,5
P2O51

Dans ce tableau, vous voyez qu’aucune ligne n’est nulle (tous les oxydes ont une matière première pour être fournis), et que les matières premières sont indépendantes entre elles (aucune colonne ne peut être écrite en combinant les autres).

Dans la vraie vie, la composition des matières premières n’est pas aussi simple que dans ce tableau. Pour illustrer cela, voici la table des matières premières qui est utilisée dans le calcul. (Ces 18 matières premières ont été préalablement sélectionnées par l’utilisateur via les listes de sélection.)

Les observateurs concentrés auront remarqué que ce dernier tableau n’est pas écrit dans le même sens que le précédent. Les lignes et les colonnes sont inversées.

Établissement de la matrice M

Cet arrangement de tableau, avec les matières premières en ligne et les oxydes en colonne, présente un intérêt certain : dans la base de données, où sont stockées toutes les données des matières premières, on peut écrire autant de lignes qu’on veut en ajoutant de nouveaux matériaux. S’ils étaient écrits en colonne ça ne serait pas pratique.

Bref ! Quoi qu’il en soit, notre tableau est à l’envers, il faut le remettre à l’endroit pour établir la matrice M.

Rien de plus simple avec Libre Office, qui sait aussi calculer une transposée de matrice 😛 . Avec cette fonction, j’obtiens, dans la page de calcul, la matrice M que voici :

Là, normalement, c’est le moment où tout le monde fait “Wouaaaah” 😮! Moi-même, je suis un peu émue, j’avoue. Ben oui, car nous avançons bien, mine de rien.

La preuve, c’est que pour le reste du calcul, c’est exactement pareil que pour notre exemple. Comme écrit en aide mémoire dans l’entête du tableau ci-dessus,

  • X1 est le coefficient multiplicateur du feldspath sodique
  • X2 celui du feldspath potassique
  • X3 celui du carbonate de chaux,
  • X18 celui des cendres d’os

Cette liste des coefficients multiplicateurs correspond au vecteur colonne X, qui contient maintenant 18 éléments, nos 18 inconnues.

X=\begin{pmatrix}X_{1}\\X_{2}\\X_{3}\\X_{4}\\X_{5}\\X_{6}\\X_{7}\\X_{8}\\X_{9}\\X_{10}\\X_{11}\\X_{12}\\X_{13}\\X_{14}\\X_{15}\\X_{16}\\X_{17}\\X_{18}\end{pmatrix}

Par ailleurs, le vecteur R, contient les nombres de moles des 18 oxydes que l’on souhaite dans notre formule. Supposons que l’on veuille la formule ci-dessous.

composants emaux

Alors le vecteur R sera :

R=\begin{pmatrix}0,08\\0,14\\0,49\\0,16\\0\\0,06\\0,07\\0\\0\\0\\0,24\\0\\0,1\\2,83\\0\\0,05\\0\\0\end{pmatrix}

Là où on est rendu, pour avoir le vecteur X, il ne nous reste plus qu’à faire l’opération :M^{-1}\cdot R

Ce que Libre Office Calc va faire pour nous, évidemment. On commence par lui demander de calculer la matrice inverse M^{-1}, que voici :

Puis on lui fait effectuer le produit de matrices M^{-1}\cdot R, ce qui nous donne le résultat suivant :

À ce stade, le lecteur encore réveillé et attentif va remarquer une chose, une chose bien embêtante dont il va falloir s’occuper.

Il y a, parmi les résultats, des valeurs négatives 😱

Eh oui, la résolution de notre système se fait dans l’ensemble des réels, elle peut donc renvoyer des nombres négatifs, et ça, ça ne correspond à rien de réalisable concrètement. (On ne pourra pas enlever de notre mélange de l’oxyde de fer noir, ou de l’oxyde de titane, ou alors il faut une super bonne pince à épiler.)

Bon, vous êtes encore là ? Alors on s’en occupe.

Mise à zéro des valeurs négatives

Comme on ne peut pas mettre une masse négative d’un produit, on va mettre à zéro toutes les valeurs négatives.

mise zero valeurs negatives

Ce rabotage explique que les résultats ne sont pas toujours exacts quand on cherche une recette. Les écarts seront d’autant plus importants que des valeurs négatives “importantes” seront trouvées par le calcul.

Dans cet exemple, l’incidence est très faible, puisque les valeurs négatives sont toutes petites. La plus grande est X_{12}. C’est le coefficient multiplicateur de l‘oxyde de fer, et on remarque dans le résultat les 0,2% d’erreur qui en découlent (erreur précisée en regard de la case de saisie du Fe2O3).

composants emaux

Le jeu, lorsqu’on cherche une recette, consiste à sélectionner les ingrédients qui, mis ensemble, feront que le vecteur X ne comportera pas de valeurs négatives, et s’il en contient, qu’elles soit aussi proches de zéro que possible.

Cette approche, très simple en pratique, est détaillée dans le tuto optimisez vos recettes de glaçures.

La botte secrète du chef

Mais le calcul n’en reste pas là. Après la mise à zéro des valeurs négatives de X, il analyse si des ajustements peuvent être faits pour s’approcher encore mieux de la formule.

Je ne vais pas développer ça ici, parce que je crois que l’article est déjà suffisamment touffu, mais si cette procédure vous intéresse, laissez-moi un commentaire et je me ferai une joie de détailler cette partie du calcul.

Obtention de la recette en grammes

Ce qui importe dans la recette, ce sont les proportions entre les ingrédients, et ces proportions nous les avons avec notre vecteur X, à cela près que ces proportions sont des proportions entre les nombres de moles après feu de chaque ingrédient.

(Pour les notions de perte au feu et de masses molaires avant et après feu, je vous renvoie à l’article : calcul des masses molaires des matières premières complexes.)

La question est donc : comment convertir ces proportions molaires “après feu” en proportions massiques “avant feu” ?

Qu’on se rassure, c’est simple et rapide, dès qu’on dispose de la masse molaire avant feu de chaque ingrédient (voir l’article cité plus haut pour l’obtention de ces données).

Supposons donc connues m_{1}, la masse molaire avant feu de la matière première n°1 (celle à laquelle est attribué le coefficient X_{1}), m_{2}, celle de la matière première n°2, … etc., jusqu’à m_{18}, la masse molaire après feu de la matière première n°18.

Alors les proportions massiques de la recette seront résumées dans le vecteur colonne :

\begin{pmatrix}m_{1}X_{1}\\m_{2}X_{2}\\m_{3}X_{3}\\m_{4}X_{4}\\m_{5}X_{5}\\m_{6}X_{6}\\m_{7}X_{7}\\m_{8}X_{8}\\m_{9}X_{9}\\m_{10}X_{10}\\m_{11}X_{11}\\m_{12}X_{12}\\m_{13}X_{13}\\m_{14}X_{14}\\m_{15}X_{15}\\m_{16}X_{16}\\m_{17}X_{17}\\m_{18}X_{18}\end{pmatrix}

Cette fois c’est gagné 🤠 , nous avons bel et bien les proportions massiques avant feu des ingrédients.

Il ne reste plus qu’à décider de la quantité qu’on veut préparer, et faire une bonne vieille règle de 3 pour avoir la quantité, en grammes, de chaque ingrédient.

En conclusion

Eh bien bravo 👏 vous êtes arrivés à la fin de cet article.

J’ai voulu être précise, tout en n’étant pas trop théorique, de manière à permettre aux moins “matheux” d’entre vous à comprendre de quoi il s’agit.

J’espère y être parvenue, et si vous avez des questions, des remarques ou des suggestions, laissez un commentaire, j’y répondrai dans la mesure de mes moyens 🤓

Merci de votre attention, et à bientôt 🙃

Sommaire

Souhaitez-vous me retrouver sur Youtube ou Instagram ?

Évaluez l'article, posez vos questions, postez vos remarques

4 1 voter
Évaluer l'article
S’abonner
Notifier de
guest
0 Commentaires
le plus récent
le plus ancien le plus populaire
Inline Feedbacks
Voir tous les commentaires

Articles récents

0
Posez vos questions icix
Retour en haut