Les codes de turbulence ont été développés dans le milieu des années 1970, suivant en cela le travail de pionniers de S. Orszag et S. Patterson. En fait, dès le milieu des années 1980, d'autres méthodes se développaient permettant déjà une focalisation non dynamique sur des structures spatiales externes comme les couches limites, mais dans des écoulements relativement simples. Par contre, il est traditionnel dans le contexte de la turbulence, avec la myriade de structures à petites échelles qui se développent, de penser qu'une structure de grille adaptative - vu son coût supplémentaire par rapport à une grille fixe - ne pourrait fonctionner. Cependant, une augmentation de la résolution en dimension trois d'espace requiert un effort numérique d'un ordre de grandeur supplémentaire, et ne peut donc être attendu que toutes les décennies. Les nombres de Reynolds que l'on rencontre dans de nombreux écoulements naturels, atmosphériques et astrophysiques sont donc hors d'atteinte des codes existants.
Si on veut décrire des écoulements à plus grand nombre de Reynolds, à ressource numérique constante, il faut adopter un maillage non-régulier qui de plus évolue au cours du temps de façon adaptative; on parlera alors de code AMR (Adaptive Mesh Refinement). Notre choix, de subdiviser le domaine d'intégration en sous-domaines élémentaires, pose néanmoins des problèmes techniques en ce qui concerne la gestion de ces domaines, considérés comme des structures indépendantes, ainsi que leur inter-communication. De plus, la structure du code est telle qu'une parallélisation massive sur un grand nombre de processeurs est indispensable. Pour faire face à ces enjeux, nous avons pour le moment décider d'utiliser la bibliothèque PARAMESH, développée par la NASA, pour la gestions des données dans un code de type AMR.
D'autres problèmes, de toute autre nature, concernent la précision et la stabilité des algorithmes utilisés. En particulier, l'étude de problèmes fins en turbulence demande une précision élevée. Nous sommes en train d'élaborer et de tester différents algorithmes. Notre banc d'essai est un problème de type Burgers 2D, où les résultats obtenus sont comparés avec ceux d'un code à maillage régulier. Ces premiers tests sont encourageants en termes de performances et de précision du calcul.