🌊 Vague de population — Propagation spatiale d'espèces
Simulez la propagation spatiale d'une espèce invasive à l'aide de l'équation de Fisher-KPP sur une grille 2D. Observez le front d'onde avancer à la vitesse v=2√(Dr), avec une option d'effet Allee ralentissant l'invasion.
À propos de cette simulation
Cette simulation modélise la propagation spatiale d'une espèce invasive à l'aide de l'équation de réaction-diffusion de Fisher-KPP, ∂u/∂t = D∇²u + ru(1−u), résolue numériquement sur une grille de 150×150. Une petite colonie centrale s'étend vers l'extérieur comme une onde progressive dont la vitesse converge vers le minimum théorique v = 2√(Dr), et un terme optionnel d'effet Allee peut ralentir ou bloquer l'invasion en dessous d'un seuil de densité.
🔬 Ce que ça montre
La densité de population u(x,y) évoluant sur une grille de 150×150 via des différences finies explicites avec un gabarit laplacien à cinq points et des limites à flux nul (Neumann). Le bleu marque un habitat vide (u=0), le vert marque la demi-capacité (u=0,5), et le rouge marque une colonie saturée (u=1). La bande sous la grille trace la population totale au fil du temps, et les statistiques en direct comparent la vitesse d'onde mesurée à la valeur théorique 2√(Dr).
🎮 Comment l'utiliser
Ajustez la Diffusivité D et le Taux de croissance r pour changer la vitesse à laquelle les individus se dispersent et se reproduisent — regardez la vitesse d'onde théorique se mettre à jour instantanément. Activez l'effet Allee et augmentez le seuil a pour voir l'invasion ralentir ou échouer complètement. Activez le paysage hétérogène pour randomiser la diffusivité locale de ±50 %, produisant un front irrégulier et digité au lieu d'un cercle lisse. Réinitialiser redémarre à partir d'une colonie centrale fraîche ; Pause/Lecture fige l'animation.
💡 Le saviez-vous ?
La même formule v = 2√(Dr) qui régit cette colonie simulée a été ajustée à de vraies invasions — les rats musqués se propageant à travers l'Europe après leur introduction en 1905 ont avancé à environ 1 km/an, correspondant à une onde de Fisher-KPP avec D≈51 km²/an. Les mêmes mathématiques décrivent aussi la propagation de la brûlure du châtaignier, du VIH dans les ganglions lymphatiques, et même l'avancée historique de l'agriculture à travers l'Europe néolithique.
Questions fréquentes
Quels curseurs contrôlent la simulation et que changent-ils ?
La diffusivité D (0,1–3,0) définit la vitesse de dispersion des individus par mouvement aléatoire ; le taux de croissance r (0,1–2,0) définit le taux de reproduction logistique ; et le seuil Allee a (0–0,5) définit la pénalité de densité minimale utilisée lorsque le bouton d'effet Allee est activé. D et r alimentent directement la vitesse d'onde théorique affichée sous forme de 2√(Dr), donc déplacer l'un ou l'autre curseur met immédiatement à jour cette statistique, tandis que Réinitialiser réamorce une colonie fraîche de 8 cellules de rayon au centre de la grille 150×150.
Comment la simulation calcule-t-elle réellement l'onde à chaque image ?
Chaque image exécute quatre pas explicites d'Euler de l'équation de Fisher-KPP. Le laplacien est approximé avec le gabarit à cinq points (somme des quatre voisins moins quatre fois la cellule centrale, divisée par Δx²=1), le pas de temps est plafonné à dt = min(0,1, 1/(4D)) pour satisfaire la condition de stabilité CFL de la diffusion 2D, et la croissance utilise soit ru(1−u), soit, avec l'effet Allee activé, ru(u−a)(1−u). Les limites sont à flux nul, donc la densité ne peut pas quitter la grille.
En quoi la vitesse d'onde mesurée diffère-t-elle de la statistique « Théorie 2√(Dr) » ?
La simulation suit le rayon où la densité chute d'abord à 0,5 en balayant vers l'extérieur depuis le centre, puis divise la variation de ce rayon par le temps simulé écoulé pour obtenir une vitesse mesurée, mise à jour environ toutes les demi-unités de temps. La statistique « Théorie 2√(Dr) » est la prédiction de Fisher sous forme close calculée directement à partir des curseurs actuels de D et r. Au début d'une exécution, la vitesse mesurée est inférieure à la théorie tandis que le front se raidit à partir de son profil initial lisse ; après une brève transition, les deux valeurs convergent.
Que change réellement l'activation de l'effet Allee dans le modèle ?
Avec le bouton Allee désactivé, la croissance est le terme logistique standard ru(1−u), et toute densité positive finit par envahir toute la grille. L'activer change la croissance en ru(u−a)(1−u) : une fois que la densité locale tombe sous le seuil Allee a, ce terme devient négatif, donc les zones sous a se réduisent au lieu de croître. Augmenter a avec le curseur rend le seuil d'invasion effectif plus strict, et une valeur suffisamment élevée peut bloquer complètement le front ou faire s'effondrer la colonie au lieu de se propager.
Que se passe-t-il lorsque le paysage hétérogène est activé ?
L'activer construit une carte de diffusivité par cellule où chacune des cellules 150×150 voit D multiplié par un facteur aléatoire entre 0,5 et 1,5, généré une fois à la réinitialisation. Pendant l'exécution des pas, la simulation utilise cette valeur locale au lieu du D uniforme partout où le bouton est actif, de sorte que le front d'onde avance plus vite à travers les zones à forte diffusivité et traîne dans celles à faible diffusivité — produisant le même type de propagation irrégulière et digitée observée lorsque de vraies invasions suivent des routes, des rivières ou des corridors forestiers plutôt qu'un terrain ouvert et uniforme.
Simulez la propagation spatiale d'une espèce invasive à l'aide de Fisher-KPP sur une grille 2D. Le front d'onde avance à v=2√(Dr). Effet Allee optionnel.
3D · Moteur de rendu Three.js / WebGL · Cible 60 IPS · fonctionne entièrement côté client, sans installation