Modélisation et simulation

Modélisation avec Stella
lundi 5 novembre 2007
par  Bernard Vuilleumier
popularité : 1%

Questions. Vrai ou faux ?
Lorsqu’on lance une simulation avec un modèle comportant un flux connecté à un réservoir, Stella :

  • maintient toujours le flux constant FAUX
  • maintient le flux constant durant le pas d’intégration dt VRAI
  • intègre numériquement la fonction qui se trouve dans le flux VRAI

Un flux entrant non constant est connecté à un réservoir et, durant la simulation, le réservoir se remplit. En général, le contenu au terme de la simulation :

  • dépend de la valeur initiale placée dans le réservoir VRAI
  • dépend du pas d’intégration VRAI
  • dépend de la définition du flux VRAI
  • dépend de la durée de la simulation VRAI

Problème 1
- Carte Stella :
- Définition : Débit = (Volume_max-Volume)/Volume_max*Débit_max
- Valeur du débit max

  • 2.3 litres par seconde :
deàpasMéthode d’intégrationt (s)Volume (litre)
0 12 0.25 Euler 10 9.06
0 12 0.25 Runge - Kutta d’ordre 2 10 9
0 12 0.25 Runge - Kutta d’ordre 4 10 9
  • 1.15 litre par seconde :
deàpasMéthode d’intégrationt (s)Volume (litre)
0 24 0.25 Euler 20 9.03
0 24 0.25 Runge - Kutta d’ordre 2 20 9
0 24 0.25 Runge - Kutta d’ordre 4 20 9

Problème 2
- Le modèle ne peut donner lieu qu’aux comportements suivants :

  • croissance exponentielle lorsque le flux entrant est supérieur au flux sortant
  • déclin exponentiel lorsque le flux entrant est inférieur au flux sortant
  • équilibre lorsque les deux flux sont égaux.

Problème 3
- Carte la plus simple permettant de représenter ce phénomène :

- Le réservoir représente la population et le flux les naissances par unité de temps
- Valeur initiale et définition du flux :


Population(t) = Population(t - dt) + (Naissances_par_unité_de_temps) * dt
INIT Population = 0.1
Naissances_par_unité_de_temps = Population*(1-Population)

N. B. Dans ce modèle, la population est normée à 1. Une population initiale de 0.1 représente ainsi 10 % de la population maximale que peut accueillir le milieu.

Problème 4
- Le modèle :

Ce modèle peut paraître compliqué, mais il se résume finalement au squelette des modèles unidimensionnels utilisés en dynamique dans lequel l’accélération est définie par la somme des forces qui agissent sur le mobile divisée par sa masse :

Ce squelette est dupliqué (un squelette par globe). La seule chose qui change du premier modèle à sa copie, c’est la masse du globe. En calculant la différence Δh entre les distances parcourues par les globes, on parvient aisément à trouver pour quelle hauteur de chute h cette différence Δh vaut 15 pieds, soit environ 4.44 m :

deàpasMéthode d’intégrationΔh (m) h (m)
0 5 0.01 Euler 4.45 92.53
0 5 0.01 Runge - Kutta d’ordre 2 4.45 92.31
0 5 0.01 Runge - Kutta d’ordre 4 4.45 92.31

N. B. La hauteur totale de la tour Asinelli de Bologne vaut 98 m.