01 / Introduction
Principes fondamentaux
Écrivez d’abord frontière, hypothèses, unités et inconnues.
Solve cherche des solutions symboliques ; FindRoot une racine numérique depuis une estimation ; NDSolve intègre les équations et renvoie des règles d’interpolation. == exprime une équation, = une affectation ; les fonctions commencent par une majuscule.
Effacez les anciennes définitions.
Ici les nombres ont des unités explicites, sans objets Quantity : ne mélangez pas les systèmes.
02 / Application
Exemple résolu
Deux débits à fractions massiques 0.20 et 0.50 donnent 100 kg/h à 0.35.
Les bilans total et composant donnent 50 kg/h chacun.
Dans un exemple discontinu distinct, isotherme et à volume constant, k = 0.20 min⁻¹, CA0 = 2 mol/L.
FindRoot résout exp(−kt)=0.20 et NDSolve calcule jusqu’à 20 min.
Le calcul analytique indépendant donne t = 8.047189562 min et CA(10) = 0.2706705665 mol/L.
Ces valeurs ont été vérifiées indépendamment ; Mathematica n’a pas été exécuté pour cet article.
Mixer: F1 + F2 = Fout; F1 x1 + F2 x2 = Fout xout Batch: dCA/dt = −k CA; CA(t) = CA0 exp(−kt) CA(10 min) = 0.2706705665 mol/L; t80% = 8.047189562 min
| Paramètre | Valeur | Unité |
|---|---|---|
| f1 | 50 | kg/h |
| f2 | 50 | kg/h |
| t (X = 0.80) | 8.047189562 | min |
| CA (t = 10 min) | 0.2706705665 | mol/L |
ClearAll["Global`*"];
(* Flows: kg/h; mass fractions dimensionless *)
Solve[{f1 + f2 == 100, 0.20 f1 + 0.50 f2 == 35}, {f1, f2}]
(* k: 1/min; t: min; concentration: mol/L *)
k = 0.20; ca0 = 2.0;
FindRoot[Exp[-k t] == 0.20, {t, 8}]
sol = NDSolve[{ca'[t] == -k ca[t], ca[0] == ca0}, ca, {t, 0, 20}];
ca[10] /. First[sol]
Plot[Evaluate[ca[t] /. First[sol]], {t, 0, 20},
AxesLabel -> {"t (min)", "CA (mol/L)"}, PlotRange -> All]03 / Avancé
Décisions d’ingénierie
Vérifiez résidus, débits positifs, conversion 0–1 et conservation de masse.
Essayez plusieurs estimations pour les racines non linéaires : un résultat ne prouve pas l’unicité.
Les ODE thermiques et cinétiques peuvent être raides ; contrôlez échelles et tolérances.
Comparez à l’exponentielle analytique et documentez unités et paramètres.
Ce code pédagogique n’est pas un modèle de sécurité ou d’exploitation.




Commentaires
Aucun commentaire approuvé pour le moment.
Sans autorisation, votre commentaire reste dans votre compte.
Connectez-vous par SMS pour commenter.