Institut National de Recherche Pédagogique
Département Technologies nouvelles et éducation
Activités scientifiques avec l'ordinateur en sciences physiques (accueil)

Expérimenter sur modèles avec les outils de simulation
Des logiciels de simulation pour des activités scientifiques
Stella - Des questions de physique et de chimie
Interactive Physique - Des questions de mécanique
Raytrace - Des questions d'optique

Des questions de physique - Des questions de chimie - Stella

Fonctionalités de base
Activités de modélisation
Pour aller plus loin

POUR ALLER PLUS LOIN AVEC STELLA

 


Retour au début  Compléments de mode d'emploi

Retour  Les différents "niveaux"

Stella offre différents plans de travail : le plan permettant la construction des associations modélisantes (niveau "intermédiaire"), celui permettant de spécifier les relations mathématiques ou les valeurs numériques (niveau "inférieur") et aussi un plan permettant de manipuler un modèle déjà élaboré (niveau "supérieur").

Bouton 1 : pour changer de "niveau".

Bouton 2 : pour passer du mode "vision seule" au mode "modification possible" ( celui que l’on va utiliser ).

Dans le niveau "supérieur", des potentiomètres (curseurs) permettent de modifier rapidement certains paramètres pour en observer l'influence sur le phénomène.
Cin_chi2.gif (551 octets)

 

Retour  À propos de l'association pompe-réservoir

. Cet ensemble pompe/réservoir est, du point de vue du calcul, un intégrateur par rapport au temps. Au-dessous, les équations numériques générées par Stella pour l'intégrateur précédent, pour lequel on a choisi une valeur initiale égale à 5 pour le réservoir et un débit égal à 10
reservoir(t) = reservoir(t - dt) + (pompe) * dt

INIT reservoir = 5

INFLOWS :
pompe = 10

La première équation est la traduction mathématique du rôle intégrateur de l'ensemble pompe-réservoir : on reconnaît le principe de la méthode d'Euler pour la résolution numérique d'une équation différentielle du premier ordre. En fait, ces équations peuvent être entièrement ignorées, mais du point de vue pédagogique, il peut être intéressant de les montrer pour faire comprendre le principe, en faisant remarquer que la méthode correspond à la définition de la vitesse moyenne entre t - dt et t.

Note : pour étudier la loi de décomposition radioactive, on crée le réservoir de noyaux radioactifs et la pompe qui représente son taux de variation : par défaut la pompe ne peut que remplir le réservoir et ce dernier ne peut avoir qu'un contenu positif. Ici cette restriction est levée en choisissant la pompe en position "biflow".

Attention : le logiciel ne gère pas les unités ; c'est donc l'utilisateur qui doit vérifier que les valeurs numériques sont cohérentes.

 

Retour  À propos des calculs

L'absence des données "initiales" est signalée dans le modèle Stella par un point d'interrogation dans la "grandeur" correspondante : cette présentation met donc avec raison l'accent sur cette nécessité rencontrée dans de nombreux problèmes de physique et de chimie.

L'icône de lancement est symbolisé par un coureur (to run) mais le résultat des calculs, sous forme de graphe ou de tableau, doit être spécifié par l'utilisateur.

L'utilisateur doit aussi réfléchir aux valeurs numériques à donner à deux paramètres qui ont beaucoup d'influence sur le résultat : la durée totale du calcul et le pas du calcul dans la méthode d'Euler ou de Runge-Kutta. Le premier est fixé par défaut à la valeur 12 et il faut l'adapter au phénomène étudié. Le deuxième correspond à un choix "classique" et ce choix n'est délicat que dans les phénomènes variant très rapidement en fonction du temps.

 

Retour  Présentation du résultat : graphe et tableau

Les icônes pour l'obtention d'un graphe ou d'un tableau sont d’une manipulation assez intuitive et permettent d'afficher les grandeurs en fonction du temps, une grandeur en fonction d'une autre grandeur, des séries d'une grandeur pour plusieurs valeurs d'un paramètre.

Les échelles peuvent être automatiques ou manuelles. Par défaut elles sont automatiques, ce qui dans certains cas constitue une gène : droites toujours en diagonales, courbes successives difficilement comparables, etc.

Les graphes ou tableaux peuvent être placés dans le niveau intermédiaire (où se trouve le modèle Stella) ou dans le niveau supérieur (l'intérêt de ce niveau supérieur est l'étude du fonctionnement du modèle et non plus son élaboration).

 


Retour au début  Autres exemples pour aller plus loin

Retour  Modélisation en cinétique chimique

Les problèmes de cinétique chimique régis par une équation différentielle d'ordre connu sont traités sans difficulté par Stella.

Dans le cas général où , la vitesse de la réaction et l'ordre de la réaction sont définis par .

Dans le cas où a  = 1 le modèle Stella est très simple : v constitue la " pompe " et la concentration de A (notée dans la suite A) constitue naturellement le réservoir.

Les "cercles" k et n sont ensuite liés à la vitesse, ainsi que la concentration. Après le choix des valeurs initiales, on peut lancer le calcul.

Les modèles correspondants aux ordres 0, 1 et 2 sont regroupés ci-dessous. Les valeurs des constantes sont ici arbitraires.

Cin_chi1.gif (2968 octets)

  • Le calcul fait par Stella ( niveau inférieur)
  • A(t) = A(t - dt) + (v) * dt
  • INIT A = 0.1
  • INFLOWS:
  • v = -k*A^n
  • k = 0.05
  • n = 0

Les résultats sont présentés ici dans le niveau supérieur, avec un potentiomètre pour choisir la valeur de n.

 Cin_chi2.gif (551 octets) Cin_chi3.gif (1369 octets)
Potentiomètre
Ordre 0, k = 0.0002
 
Cin_chi5.gif (1414 octets) Cin_chi4.gif (1367 octets)
Ordre 1 par rapport à A, B étant en large excès, k = 0.01 Ordre 2 par rapport à A, B étant en large excès, k = 0.01

Fichier en téléchargement : Chimie.stm (36 ko)

Stella est ainsi un moyen efficace et rapide de valider une hypothèse ou d’en écarter une autre. Par exemple, dans la réaction de l’ion permanganate sur l’acide oxalique, on constate une accélération de la réaction après un début très lent qui s‘explique par une auto-catalyse de la part d’un produit de la réaction, l’ion Mn2+.

En supposant une vitesse de la forme v = k * [ MnO4 - ]*[ Mn 2+ ] on retrouve une allure de courbe correspondant à l’expérience.

Dans cet exemple, on voit une "pompe" remplir et vider simultanément deux "réservoirs" ; le niveau "calculs" montre le détail et en particulier le fait que la quantité de Mn2+ apparue doit être égale, au signe près, à la quantité de MnO4- qui disparaît dans le même temps.

Le cas, assez fréquent en chimie, où les coefficients stoechiométriques ne sont pas identiques pour les corps étudiés doit être traité de façon particulière ( on utilise des " pompes " particulières, avec un facteur de conversion ).

  • Mn2(t) = Mn2(t - dt) + (OP1) * dt
  • INIT Mn2 = 0.01
  • INFLOWS:
  • OP1 = K1*MnO4*Mn2
  • MnO4(t) = MnO4(t - dt) + (- OP1) * dt
  • INIT MnO4 = 100
  • OUTFLOWS:
  • OP1 = K1*MnO4*Mn2
  • K1 = 0.002
KMnO4_1.gif (3020 octets) KmnO4_2.gif (1841 octets)

Fichier en téléchargement : Autocat.stm (6 Ko)

 

Retour  Synthétiseur : somme de fonctions sinusoïdales

Sfoncsi1.gif (4110 octets)

  • a1 = -1.621
  • a2 = 0
  • a3 = -0.18
  • a4 = 0
  • a5 = -0.0648
  • a6 = 0
  • a7 = -0.0331
  • a8 = 0
  • f1 = 100
  • f2 = 2*f1
  • f3 = 3/2*f2
  • f4 = 4/3*f3
  • f5 = 5/4*f4
  • f6 = 6/5*f5
  • f7 = 7*6/f6
  • f8 = 8/7*f7
  • y = y1+y2+y3+y4+y5+y6+y7+y8
  • y1 = a1*COS(f1*2*PI*TIME)
  • y2 = a2*COS(f2*2*PI*TIME)
  • y3 = a3*COS(f3*2*PI*TIME)
  • y4 = a4*COS(f4*2*PI*TIME)
  • y5 = a5*COS(f5*2*PI*TIME)
  • y6 = a6*COS(f6*2*PI*TIME)
  • y7 = a7*COS(f7*2*PI*TIME)
  • y8 = a8*COS(f8*2*PI*TIME)

On choisit le niveau supérieur pour placer dans des potentiomètres les différentes valeurs des coefficients ai pour montrer l’influence sur la somme de ces fonctions.

Sfoncsi2.gif (9809 octets)

Fichier en téléchargement : Triangle.stm (41 Ko)

 

Retour  Modulation d'amplitude ou de fréquence

Ce modèle n’utilise que des convertisseurs et leurs liaisons. Il est pratique de placer les graphes dans le niveau supérieur avec des potentiomètres pour modifier les valeurs intéressantes comme la fréquence de la porteuse ou celle de la modulante, le rapport de modulation ou l’excursion en fréquence.

Image259.gif (3840 octets)

Dans le niveau inférieur, la construction précédente donne le résultat suivant :

  • A = k*Uo*Vm
  • B = 5
  • beta = -10
  • fm = 800
  • fp = 10000
  • k = 0.25
  • m = Um/Uo
  • Samplitude = A*(1+m*cos(2*PI*fm*TIME))*cos(2*PI*fp*TIME)
  • Sfréquence = B*cos(2*PI*fp*TIME+beta*sin(2*PI*fm*TIME))
  • sm = Um*cos(2*PI*fm*TIME)
  • Um = 2.5
  • Uo = 5
  • Vm = 4

Les graphes obtenus

Modulation d’amplitude

Modu_amp.gif (4940 octets)

Modulation de fréquence

Modu_fre.gif (6053 octets)

Fichier en téléchargement : Modulat.stm (26 Ko)

 

Retour  Modélisation des oscillations

On peut choisir de résoudre une équation différentielle du deuxième ordre dans un cas plus général et jouer sur les valeurs des différents paramètres pour observer le résultat.

Si l'on considère l'équation :

on réalise les deux intégrateurs successifs puis on crée tous les "cercles" pour toutes les grandeurs qui interviennent dans l’équation.

Il faut ensuite créer trois liaisons aboutissant au point de départ du calcul, l’accélération " a " :

  • une liaison venant des paramètres e et b
  • une liaison venant du paramètre a
  • une liaison venant du paramètre c
  • et on complète le modèle par les valeurs numériques des paramètres d’une part et par les valeurs initiales des variables d’autre part.

L’affichage du résultat x = f(t) et y’ = g(y) est placé à côté du modèle (voir ci-dessus) ou dans le niveau supérieur si l’on veut se concentrer sur l’analyse de l’influence des paramètres.

Dans la pratique, les oscillations paramétriques seront obtenues avec, par exemple, epsilon = 10, b =1 et a = 1 ( cas de la figure ci-dessous avec c = 1000 ).

Osc_nai1.gif (2061 octets) Osc_nai3.gif (3037 octets)
Osc_nai2.gif (551 octets) Osc_nai4.gif (2198 octets)

Pour obtenir des oscillations libres il faut prendre epsilon = 0.

Pour les oscillations amorties par exemple epsilon = -5.

Osc_amo1.gif (414 octets)

Osc_amo2.gif (558 octets)

Les autres valeurs étant  b=0, c = 1000 et a=1.

Osc_amo6.gif (8117 octets)

Osc_amo7.gif (15238 octets)

Fichier en téléchargement : Vander.stm (139 Ko)

 

Retour  Trajectoire d'un rayon lumineux dans un milieu d'indice variable

Dans les exemples précédents, l'intégration s'est faite sur la variable temps. Mais il est possible d'utiliser l'intégration sur une autre variable. On peut ainsi étudier la trajectoire d'un rayon lumineux dans un milieu stratifié (repère Oxz) dont l'indice ne dépend que de z. En effet, l'équation de propagation
        
conduit alors (cas d'un rayon initial dans le plan xOz) à l'équation différentielle donnant la trajectoire :
        

Le logiciel permet donc de simuler la propagation en connaissant la fonction n(z) ainsi que sa dérivée, avec C = n0.sin i0 comme condition initiale. Pour le mirage, n est pris de la forme n = a + b.z, a et b étant deux constantes. Nous donnons ci-dessous le graphe du modèle (ainsi que les équations générées par Stella où l'on retrouve les relations constitutives).

  • z(t) = z(t - dt) + (z') * dt
  • INIT z = z0
  • INFLOWS:
  • z' = zz'
  • zz'(t) = zz'(t - dt) + (z'') * dt
  • INIT zz' = zz'0
  • INFLOWS:
  • z'' = indice*b/c^2
  • a = 1.01
  • b = 1e-4
  • c = n0*sin(i0)
  • i0 = 3.1416/2
  • indice = a+b*z
  • n0 = a+b*z0
  • z0 = 10
  • zz'0 = tan(pi/2-i0)
Mirage1.gif (9096 octets)
On obtient les résultats suivants pour io entre :
  • p /2 (1) et  

    p /2 + p /100 (5),

    par pas constant.

  • Mirage2.gif (15549 octets)

    Fichier en téléchargement : Mirage.stm (199 Ko)

    Retour au début

    INRP-TECNE
    Unité Informatique et enseignement
    08/06/2000