L'équation de Blasius est une équation différentielle non linéaire qui s'écrit :
Elle est définie sur l'intervalle avec les conditions aux limites suivantes :
L'équation de Blasius est une équation différentielle non linéaire du troisième ordre. Elle est transformée en un système d'équations différentielles du premier ordre en posant f'=g et g'=h afin de pouvoir utiliser la méthode de Runge-Kutta d'ordre 4 :
(2) avec les conditions aux limites
où α est une valeur à déterminer.
Le système d'équation (2) peut se mettre sous forme matricielle en posant:
C'est-à-dire ou plus simplement
La méthode de Runge-Kutta permet de résoudre une équation différentielle ou un système d'équations différentielles du premier ordre à conditions initiales. Dans notre cas, la condition initiale h(0)= α n'est pas connue alors que h(+∞)=g'(+∞)=0. Il faut donc déterminer la valeur de α permettant de satisfaire à la condition finale g(+∞)=1. La méthode du tir s'impose de ce fait.
L'équation (1) avec des conditions aux limites a été transformée en un système d'équation différentielles du premier ordre à conditions initiales. Nous effectuons un premier « tir » en fixant une valeur de α=α1 puis nous résolvons le système par la méthode de RK. Soit β1 la valeur finale de g(+∞). Nous effectuons un second tir avec une valeur de α=α2≠α1. Notons β2 la valeur finale de g(+8) obtenue.
Nous déterminons ensuite par interpolation linéaire ( ) la valeur α=α3 permettant d'avoir g(+∞)=β=1:
On pose alors h(0)= α3 puis nous résolvons à nouveau le système. Nous vérifions au final que l'erreur en valeur absolue reste inférieure à un certain seuil :
Si , la solution u(x) de cette équation par la méthode de Runge-Kutta à l'ordre 4 est telle que :
pour 1 ≤ i ≤ n ; avec :
et
Le programme permettant la résolution de cette équation se décompose en deux parties. Un programme principal (Equa_Blasius_octave.m) dans lequel la méthode de tir est implémentée et une procédure fonction (rk4blasius_octave.m) implémentant la méthode de RK4. Cette fonction reçoit comme arguments d'entrée les valeurs x0, x∞, le nombre n d'intervalles et u0 le vecteur valeur initiale. Elle retourne le vecteur x contenant les coordonnées des points de discrétisation et le vecteur u solution de l'équation.