Équations différentielles ordinaires
1. Introduction
Le module odesolvers.js permet d'intégrer numériquement des systèmes d'équations différentielles ordinaires, c'est-à-dire de la forme :
Il comporte une fonction ode et des classes qui permettent d'effectuer des simulations de systèmes physiques.
2. Fonction ode
Soit N le nombre d'équations différentielles dans le système. Celui-ci doit être défini par une fonction dont le prototype est :
system(t,y,param)
y est un tableau à une dimension de longueur N. param (argument facultatif) est un objet qui contient des paramètres.
La fonction doit renvoyer un tableau de longueur N contenant les valeurs de f(t,y).
La fonction ode est similaire à la fonction du même nom de scilab.
y=ode(args)
- args.type
:
méthode d'intégration. Les méthodes implémentées sont : rk45.
- args.y0 (float array)
:
un tableau de longueur N définissant les conditions initiales
- args.t0 (float)
:
temps initial
- args.t (float array)
:
tableau contenant les instants t du tableau de sortie
- args.system (function)
:
fonction définissant le système différentiel
- args.rtol (float)
:
tolérance relative
- args.atol (float)
:
tolérance absolue
- args.param (object)
:
un objet qui contient les paramètres constants à transmettre à la fonction system
- y
:
tableau de sortie, de longueur N. Chaque élément est un tableau de même longueur que args.t, donnant les valeurs de la variable correspondante aux différents instants définis par args.t.
L'exemple suivant effectue l'intégration d'un système à 3 équations (cinétique chimique) :