On obtient donc pour le calcul de la profondeur la formule suivante :
où l est une grandeur caractéristique ( dans notre cas l = coté de la maille )
Ces considérations étant prises en compte l'algorithme peut être shématisé de la sorte :
Le choix quant à la programmation du code s'est porté sur le logiciel Matlab, car il permet de résoudre l'équation implicite de disperion, et est aussi performant et facile d'utilisation pour les représentations graphiques.
Réfraction sur la même bathymétrie, mais avec un angle d'incidance de la houle
Réfraction de la houle sur une bathymétrie en virage
Autre image de réfraction sur un virage
Notons que la ligne de courant qui est à l'exterieur du virage subit au départ un gradient vertical du fond trop fort, ce qui a pour effet de lui faire croiser les autres lignes de courant. Cela n'est pas réaliste, mais il s'agit d'une des limites du modèle. En fait, tout porte à penser qu'il se produirait un déferlement.
Réfraction autour d'une ile
Cet exemple est tout à fait caractéristique des limites de notre modélisation. Certes il se produirait un déferlement de la houle au niveau du haut fond d'une profondeur de 7 mètres (la profondeur initiale étant de 44 mètres), et la convergence des rayons est bien respecté. Cependant la présence de fortes variations de gradient au niveau de l'île impose des angulosités abscentes dans la réalité. Ceci provient du modèle physique de Snell qui sous sa forme globale ne permet pas de traiter des problèmes à fortes variations de gradient de profondeur. Une amélioration de notre programme serait d'utiliser la forme différentielle de l'équation de Snell qui permet de traiter ces problèmes.
photo d'un cas réel (guadeloupe) :
image ATPI