D’ÉNÉRGIE CINÉTIQUE TURBULENTE - École Polytechniquedubos/Men/Houel09.pdf4 1. Énergie...

36
ESTIMATION DU TAUX DE DISSIPATION D’ÉNÉRGIE CINÉTIQUE TURBULENTE MEC559 MEC569 Projet de Recherche en Laboratoire Guillaume HOUËL

Transcript of D’ÉNÉRGIE CINÉTIQUE TURBULENTE - École Polytechniquedubos/Men/Houel09.pdf4 1. Énergie...

  • ESTIMATION DU TAUX DE DISSIPATION

    D’ÉNÉRGIE CINÉTIQUE TURBULENTE

    MEC559 – MEC569 Projet de Recherche en Laboratoire

    Guillaume HOUËL

  • 2

    Tables of content

    ESTIMATION DU TAUX DE DISSIPATION D’ÉNÉRGIE CINÉTIQUE TURBULENTE .................. 1

    Introduction .................................................................................................................... 3

    1. Énergie cinétique turbulente: théorie et outils statistiques ................................... 4

    1.1. Cascade d’énergie de Richardson-Kolmogorov .............................................. 4

    1.2. Statistique dans l’espace physique ................................................................. 5

    1.3. Turbulence statistiquement stationnaire / homogène / isotrope .................. 6

    1.4. Statistiques dans l’espace de Fourier .............................................................. 7

    2. Mesures ................................................................................................................... 9

    2.1. L’anémomètre sonique ................................................................................... 9

    2.2. Hypothèse de Taylor ..................................................................................... 10

    1.1. Méthodes d’analyse ...................................................................................... 10

    1.2. Protocole d’analyse ....................................................................................... 12

    2. Analyse des résultats............................................................................................. 14

    2.1. Anémomètre sonique ................................................................................... 14

    2.2. Simulation numérique Méso-NH .................................................................. 18

    Conclusion ..................................................................................................................... 22

    Bibliographie ................................................................................................................. 23

    Codes Matlab ................................................................................................................ 24

    Traitement des données anémomètre ..................................................................... 24

    Traitement des données numériques ....................................................................... 31

  • 3

    Introduction

    La turbulence n’a pas de définition au sens strict du terme. Elle se reconnait à la

    conjonction de plusieurs facteurs : un nombre de Reynolds élevé, et des mouvements du

    fluide « désordonnés », dans le temps et dans l’espace. Ce caractère désordonné amène

    à renoncer à prédire l’état instantané du fluide et à rechercher des lois statistiques,

    portant sur des valeurs moyennes, des variances, etc. des différentes grandeurs

    physiques caractéristiques de l’écoulement.

    L’objet de ce projet est l’étude synoptique de l’une de ces grandeurs : l’énergie

    cinétique turbulente 𝑘. Produite par des écarts de température près du sol et un relief

    irrégulier, elle est ensuite dissipée par viscosité par le jeu d’interactions complexes.

    Cette énergie permet de décrire, comprendre et éventuellement prédire l’évolution de

    systèmes météorologiques localisés, comme la formation de brouillard.

    L’équation d’évolution de l’énergie fait apparaître quatre termes :

    𝑑𝑘

    𝑑𝑥 = −𝑢′𝑖𝑢′𝑗

    𝜕𝑢𝑖

    𝜕𝑥𝑗−𝑔𝑖𝛽𝑇′𝑢′𝑖 +

    𝜕

    𝜕𝑥𝑖 𝜈

    𝜕𝑘

    𝜕𝑥𝑖−

    1

    𝜌0𝑝′𝑢′𝑖 − 𝑘𝑢′𝑖 −𝜖

    1 2 3

    Si les trois premiers termes de forçage (production mécanique 1 , production

    thermique 2 et redistribution 3 ) sont accessibles aux mesures, le dernier terme, 𝜖, est

    un terme de dissipation très difficile à estimer en pratique.

    Comment évaluer ce taux de dissipation d’énergie turbulente à l’aide des

    appareils de mesure comme un anémomètre sonique ?

    Après une courte introduction théorique, nous présenterons plusieurs méthodes

    de mesures réalisables à l’aide du matériel disponible au SIRTA de l’Ecole Polytechnique.

    Ces méthodes seront ensuite implémentées sous Matlab et mises en œuvre sur des

    relevés et des simulations numériques. Enfin, l’analyse des résultats nous permettra de

    valider ou d’entrevoir les limites des méthodes de calcul proposées.

  • 4

    1. Énergie cinétique turbulente: théorie et outils statistiques

    1.1. Cascade d’énergie de Richardson-Kolmogorov

    Le processus imagine par Richardson (1922) et formalisé par Kolmogorov (1941)

    est celui d’une cascade d’énergie résultant d’une fragmentation de l’écoulement en

    structures d’échelles de tailles décroissantes. Le schéma phénoménologique s’appuie

    sur le point suivant :

    La turbulence est ramenée à un ensemble de structures fluides imbriquées, dont

    la taille caractéristique 𝑙 et la vitesse caractéristique 𝑈𝑙 résultent d’un processus

    dynamique de brisures successives des structures d’échelles 𝑙 en structures de plus en

    plus petites. On distingue alors trois domaines d’échelles :

    a. Domaine de production de turbulence

    L’énergie du mouvement est transférée à partir des grandes structures 𝑙0 et 𝑈0

    (échelles de production) où agissent les forces extérieures. Le transfert initial s’effectue

    à un taux

    𝜀0 = −𝑈02/𝜏0

    où 𝜏0 désigne le temps de vie des grandes structures.

    En posant 𝜏0 = 𝑙0/𝑈0, il vient

    𝜀0 = −𝑈03/𝑙0

    b. Domaine de dissipation

    L’énergie est dissipée, au même taux 𝜀0 au niveau des structures suffisamment

    petites pour pouvoir être éliminées par l’action du frottement visqueux : 𝑅𝑒~1 donc

    𝑈𝜈 𝑙𝜈/𝜈~1

    C’est le régime visqueux.

    c. Domaine inertiel

    Pour 𝑙𝜈 ≪ 𝑙 ≪ 𝑙0 on définit le régime inertiel : le transfert d’énergie entre les

    échelles s’effectue de façon auto similaire, c'est-à-dire de manière identique à toutes les

  • 5

    échelles 𝑙, et de façon locale i.e. toute l’énergie de chaque structure est transférée aux

    sous-structures qu’elle engendre. La viscosité n’affecte pas le processus qui est

    purement inertiel, et le taux de transfert local 𝜀𝑙 = −𝑈𝑙2/𝜏𝑙 = −𝑈𝑙

    3/𝑙 est égal à 𝜀0, et

    ce quelle que soit l’échelle 𝑙.

    Les propriétés dynamiques des structures de la turbulence dans le régime inertiel

    ne dépendent donc que de 𝜀0 et 𝑙

    1.2. Statistique dans l’espace physique

    La turbulence est donc un phénomène qui permet de canaliser l’énergie cinétique

    produite par des sources d’origines diverses en la transférant vers des échelles où elle

    sera dissipée par viscosité. Ainsi, la turbulence est synonyme d’instabilité et de chaos en

    termes de trajectoires, mais en termes d’ensembles, elle est synonyme de régularité et

    de stabilité. La turbulence qui naît du chaos apparaît, sur le plan statistique, comme un

    mécanisme régulateur qui favorise un comportement stable et régulier du milieu. Ce

    sont donc des outils statistiques qui vont permettre, sinon de comprendre, au moins de

    modéliser la turbulence dans des applications pratiques.

    Tout champ fluctuant turbulent peut être décomposé en sa moyenne et une

    fluctuation centrée autour de cette moyenne :

    𝒖 𝒙, 𝑡 = 𝒖 𝒙, 𝑡 + 𝒖′(𝒙, 𝑡)

    où . désigne l’opération de moyenne. On définit plusieurs types de moyenne

    en fonction du contexte et des données disponibles :

    - La moyenne d’ensemble, pour laquelle on imagine qu’on répète la même

    expérience un grand nombre de fois. Chaque expérience « turbulente »

    𝑖 = 1 …𝑁 est une réalisation d’un même processus aléatoire. La moyenne

    d’ensemble est alors 1

    𝑁Σi avec 𝑁 → ∞. Malheureusement, dans la pratique,

    ce genre de moyenne est très difficile, voire impossible à réaliser. On peut

    Figure 1: Simulation Méso-NH d'un champ de vitesse turbulent

  • 6

    le faire avec des expériences en laboratoire ou des simulations

    numériques, et alors N n’est jamais très grand.

    - La moyenne spatiale sur un domaine 𝒟 :

    𝒖 = 𝒖 𝑑𝑥𝑑𝑦𝑑𝑧𝒟

    1 𝑑𝑥𝑑𝑦𝑑𝑧𝒟

    Cette moyenne suppose un excellent échantillonnage spatial, et n’est

    réalisable en pratique qu’à partir de données numériques

    - La moyenne temporelle, sur un intervalle de temps 𝑇 :

    𝒖 =1

    𝑇 𝒖 𝑑𝑡

    𝑡+𝑇

    𝑡

    C’est la seule envisageable quand on ne dispose que de séries temporelles

    On définit alors la fluctuation 𝒖′ de 𝒖 comme étant son écart à la moyenne.

    1.3. Turbulence statistiquement stationnaire / homogène / isotrope

    Des lois simples et universelles ne peuvent être obtenues que sous des

    hypothèses assez fortes concernant les statistiques de champs de vitesse :

    - Stationnarité : les grandeurs statistiques (moyennes) sont indépendantes du

    temps

    - Homogénéité : les grandeurs statistiques (moyennes) sont indépendantes du

    point de mesure. Les grandeurs de corrélation entre des mesures faites en

    différents points de l’espace ne dépendent quant à elles que des positions

    relatives de ces points.

    - Isotropie : les grandeurs statistiques (moyennes) sont invariantes par

    rotation

    Les deux premières hypothèses sont satisfaites dans la plupart des cas. En

    revanche, la dernière est plus problématiques, surtout lorsqu’on se situe près d’un

    obstacle ou d’une paroi (le sol, par exemple).

    Une hypothèse plus faible consiste alors à n’exiger les propriétés ci-dessus qu’au

    niveau des incréments de vitesse 𝛿𝒖 :

    𝛿𝒖 𝒙, 𝒍 = 𝒖 𝒙 + 𝒍 − 𝒖(𝒙)

    Dans ce cas, on parle de turbulence localement stationnaire / homogène /

    isotrope, à l’échelle 𝒍 choisie pour définir l’incrément de vitesse.

  • 7

    1.4. Statistiques dans l’espace de Fourier

    Les moyennes dans l’espace physique nous ont permis de décrire l’organisation

    spatiale des écoulements turbulents. Le passage dans l’espace de Fourier va maintenant

    nous permettre de scruter les diverses échelles du mouvement turbulent. Cette

    approche, appelée analyse spectrale, est assez formelle et s’applique à de nombreuses

    grandeurs descriptives de la turbulence, mais nous ne nous attacherons ici qu’à l’étude

    d’une notion importante : le spectre d’énergie. C’est l’outil qui sera employé pour

    décrire la cascade d’échelles de la théorie de Richardson-Kolmogorov, qui donne des

    informations précieuses sur la manière avec laquelle la turbulence dissipe l’énergie.

    a. Tenseur des corrélations doubles

    Partant de l’hypothèse que la turbulence est statistiquement stationnaire et

    homogène, on introduit la corrélation :

    𝑅𝑖𝑗 (𝒓) = 𝒖′𝑖 𝒙, 𝑡 𝒖′𝑗 𝒙 + 𝒓, 𝑡

    Appelé tenseur des corrélations doubles, et sa transformée de Fourier :

    Φij 𝛋 = TF 𝑅𝑖𝑗 𝒓 =1

    2π 3 𝑅𝑖𝑗 𝒓 𝑒

    −𝑖𝛋.𝐫𝑑3𝒓ℝ3

    Rij 𝛋 = TF−1 Φij 𝛋 = Φij 𝛋 𝑒

    +𝑖𝛋.𝐫𝑑3𝛋ℝ3

    La fonction Φij 𝛋 définit le tenseur spectral des corrélations doubles de vitesse.

    Ce tenseur est une corrélation entre modes de Fourier.

    b. Spectre d’énergie

    Au même titre que le tenseur des corrélations doubles dans l’espace physique, le

    tenseur spectral des corrélations doubles dans l’espace de Fourier contient toutes les

    informations relatives à la structure statistique d’ordre deux en deux points du champ

    fluctuant. Cette information est beaucoup trop riche pour être exploitable. Ce tenseur

    spectral redonne le tenseur de Reynolds quand on annule 𝒓. On obtient notamment

    l’énergie cinétique 𝑘 en posant dans la relation précédente : 𝑖 = 𝑗 et 𝒓 = 0

    𝑘 =1

    2𝒖′𝑖

    2 =

    1

    2𝑅𝑖𝑖 𝟎 = Φii 𝛋 𝑑

    3𝛋ℝ3

  • 8

    La quantité Φii 𝛋 définit donc l’énergie moyenne de l’onde 𝛋. A travers la

    relation ci-dessus, l’énergie cinétique de la turbulence apparait donc sous la forme de

    l’intégrale de l’énergie de l’ensemble des ondes déployées dans l’espace de Fourier.

    Cette énergie peut être assimilée à l’intégrale de 1

    2𝑡𝑟 Φ 𝛋 sur toutes les directions

    possibles de 𝛋 pour un module κ = 𝛋 fixé. On définit ainsi le spectre d’énergie :

    𝑘 = E κ 𝑑κ∞

    0

    L’allure de ce spectre en turbulence isotrope doit être conforme à la théorie de la

    cascade de Richardson-Kolmogorov, et doit en particulier montrer l’existence d’un

    régime inertiel dans lequel on montre que :

    E κ ~ϵκ2 3 κ−5 3

  • 9

    2. Mesures

    Si la théorie déduit la dissipation d’énergie turbulente de relations relativement

    simples, la réalité est toute autre. En effet, les hypothèses de stationnarité,

    d’homogénéité et d’isotropie ne sont pas forcément vérifiées. Ajoutons à cela que nous

    ne disposons que d’informations partielles, et souvent bruitées.

    Comment accéder à une estimation de la dissipation d’énergie turbulente à partir

    de ces mesures ? Quels sont les appareils utilisés pour ce type de mesure ? Quelle est la

    fiabilité des différentes méthodes ?

    2.1. L’anémomètre sonique

    Il existe plusieurs appareils permettant de mesurer la vitesse dans un écoulement,

    plus ou moins sophistiqués, plus ou moins fiables. L’objet du projet n’étant pas d’en

    faire une énumération complète, nous nous concentrerons sur celui utilisés dans nos

    mesures : l’anémomètre sonique.

    L’anémomètre est un système

    de mesure non intrusif fréquemment

    employé pour mesurer les

    fluctuations du vent, mais aussi de la

    température. Souvent utilisé pour la

    surveillance de l’échauffement global

    et de la pollution atmosphérique, il

    sert également à récupérer des

    informations sur la turbulence de l’air

    L’anémomètre mesure la vitesse du vent sur un chemin vertical de 10cm. Il opère

    en mode d’impulsion acoustique : émetteurs et récepteurs d’ultra son permettent après

    un traitement simple de connaître les composantes de la vitesse avec une précision de

    l’ordre du mm.s-1. La fréquence d’échantillonnage vaut approximativement 10Hz, et

    permet dans la plupart des cas (vents raisonnables) d’accéder aux échelles du domaine

    inertiel.

    Figure 2: Anémomètre sonique CSAT3©

  • 10

    2.2. Hypothèse de Taylor

    L’anémomètre sonique ne donne donc accès qu’à une information temporelle sur

    le champ de vitesse. Il peut paraître impossible de calculer des spectres ou d’autres

    fonctions de structures, qui impliquent la différence entre deux mesures de vitesse

    faites en deux points différents, alors qu’on ne dispose que d’un seul point de mesure.

    Pour contourner cette difficulté, on utilise le fait que le vent a une moyenne temporelle

    non nulle 𝑈 = 𝑢 (NB : près du sol, 𝑤 = 0 et on oriente les axes de sorte que 𝑣 = 0).

    Dans ces conditions, la parcelle d’air qui passe à l’instant 𝑡 dans le capteur sera à

    l’instant 𝑡 + 𝜏 à une distance 𝑈. 𝜏 en aval du capteur. Si le champ de vitesse n’a pas

    beaucoup évolué entre temps, on peut alors transcrire une série temporelle en une série

    spatiale.

    Cette hypothèse de champ de vitesse « gelé » est l’hypothèse de Taylor. On

    considère généralement que c’est une bonne approximation si

    𝑢′2 ≪ 𝑈2

    Un travail préliminaire sera donc indispensable au moment de la prise de mesure,

    pour sélectionner des épisodes avec suffisamment de vent.

    1.1. Méthodes d’analyse

    a. Méthode directe

    On peut accéder à la valeur de l’énergie dissipée à l’aide du tenseur d’énergie

    cinétique (à condition qu’aucune direction ne soit privilégiée, par isotropie)

    𝜖 = 15𝜈 𝜕𝒖′

    𝜕𝑥

    2

    Figure 3: Vue latérale d'un CSAT3© Figure 4: Vue de dessus d'un CSAT3©

  • 11

    Où 𝜈 est la viscosité cinématique de l’écoulement, 𝑥 la distance selon la direction

    du vent, et 𝑢 la composante fluctuante du vent dans cette direction. En appliquant

    l’hypothèse de Taylor mentionnée précédemment, on montre que la relation ci-dessus

    s’écrit :

    𝜖 =15𝜈

    𝑈2

    𝜕𝒖′

    𝜕𝑡

    2 1 +

    𝑢′ 2

    𝑈2+ 2

    𝑣 ′2 + 𝑤 ′ 2

    𝑈2

    −1

    La mesure d’une dérivée spatiale ne peut se faire qu’à des échelles proches de

    l’échelle de Kolmogorov, échelles en dessous de laquelle la viscosité absorbe l’énergie et

    où les vitesses sont nulles. Or la plupart des appareils de mesure ne permettent pas

    d’accéder à de telles échelles.

    Cependant, la théorie de Kolmogorov laisse à penser qu’il existe dans le domaine

    inertiel des informations permettant d’accéder indirectement à une estimation de la

    dissipation. C’est cette propriété qu’exploitent les 2 méthodes suivantes

    b. Méthode de dissipation inertielle

    D’après 1.4. on connait la relation entre 𝜖 et le spectre d’énergie turbulente dans

    la zone inertielle, zone accessible aux mesures via un anémomètre sonique. On sait que :

    Φ11 𝛋𝟏 ~ϵκ2 3 𝛋𝟏

    −5 3

    Soit

    Φ11 𝛋𝟏 = α1ϵκ2 3 𝛋𝟏

    −5 3

    où 𝐞𝟏 est la direction du vent moyen, et α1 est appelé constante de Kolmogorov.

    Introduisons ensuite le spectre d’énergie fréquentiel 𝑆𝑢(𝑓) comme il suit :

    𝑓. 𝑆𝑢 𝑓 = 𝛋𝟏. Φ11 𝛋𝟏

    avec

    𝑓 =𝑈. 𝛋𝟏

    2𝜋

    On en déduit, dans le domaine inertiel, pour un écoulement stationnaire,

    homogène isotrope et sous l’hypothèse de Taylor :

    ϵ =2π

    U Su f . f 5 3

    α1

    3 2

    Le problème est qu’on ne connait pas précisément la valeur de α1 , mais

    seulement une approximation. Cette incertitude nous amène à examiner des fonctions

    de structure d’ordre supérieur : c’est la méthode dite des 4/5

  • 12

    c. Méthode des 4/5et fonctions de structure d’ordre trois

    On démontre que dans le cadre d’une turbulence localement statistiquement

    stationnaire homogène et isotrope, en développant le calcul des incréments de

    vitesse d’ordre trois, encore appelés fonctions de structure d’ordre trois, on peut

    écrire :

    𝛿𝑢3 = −4

    5𝜖. 𝑟

    où 𝛿𝑢 = 𝑢 𝑥 + 𝑟 − 𝑢(𝑥). Soit encore, sous l’hypothèse de Taylor

    𝛿𝑢3 = −4

    5𝜖. 𝑈𝜏

    La démonstration de ce résultat suppose une très forte isotropie, et à ce

    résultat on préfèrera une forme intermédiaire un peu restreinte :

    𝛿𝑢3 + 𝛿𝑢𝛿𝑣2 + 𝛿𝑢𝛿𝑣2 = −4

    3𝜖. 𝑟

    Soit

    𝛿𝑢3 + 𝛿𝑢𝛿𝑣2 + 𝛿𝑢𝛿𝑣2 = −4

    3𝜖. 𝑈𝜏

    Il convient de se souvenir que ces lois ne sont valables que dans le domaine

    inertiel où s’applique la loi de Kolmogorov. On retiendra également que la seconde

    relation, plus générale, est plus robuste que la loi des quatre cinquièmes de

    Kolmogorov, parce qu’elle utilise moins l’hypothèse d’isotropie, difficile à réaliser

    dans les pratique.

    1.2. Protocole d’analyse

    Les lois et le cadre assez strict dans lequel nous les avons établies conduisent à

    mise en place d’un protocole expérimental dans lequel il faut s’assurer que sont

    vérifiées les conditions

    - De stationnarité et d’homogénéité : le vent moyen doit rester à peu près

    constant où varier très faiblement sur toute la durée d’un échantillon à

    analyser

    - D’isotropie : se vérifie à l’aide de la loi des 4/3 sur les spectres en fréquence

    des différentes composantes principale, transverse et verticale de la vitesse.

    - De Taylor : en vérifiant que le vent moyen est suffisamment grand devant les

    fluctuations dans la direction principale

  • 13

    - De Kolmogorov : en vérifiant sur chacun des spectres que la pente du spectre

    sur un diagramme logarithmique correspond bien à celle prévue par

    Kolmogorov (pente en -5/3)

    Une fois identifié un domaine de fréquence dans lequel toutes ces conditions sont

    réunies de manière satisfaisante, une étude comparative pourra être menée, qui

    confrontera les différentes méthodes de calcul de taux de dissipation. Les écarts à ces

    conditions permettront également de juger de la robustesse des résultats obtenus.

  • 14

    2. Analyse des résultats

    L’implémentation sous Matlab consiste essentiellement en l’affichage d’un certain

    nombre de graphes, permettant en premier lieu de discerner s’il est légitime d’utiliser

    l’une ou l’autre des méthodes présentées en 2° partie.

    Après avoir été chargées dans Matlab, les données sont normalisées et

    réorientées dans le sens du vent moyen, de manière à obtenir les composantes

    principale, transverse et verticale de la vitesse et de ses fluctuations. Les spectres

    d’énergie sont également calculés, par transformée de Fourier en fréquence, à l’aide de

    la fonction fft (fast fourier transform) de Matlab. La comparaison des courbes à des

    droites de référence permet de délimiter les gammes de fréquences dans les.

    2.1. Anémomètre sonique

    Le choix des données à exploiter s’est bien sûr porté vers un jour plutôt stable,

    avec une vitesse moyenne (calculée sur u intervalle de 5 minutes) qui ne varie que très

    peu au cours du temps. L’échantillon peut donc être considéré comme stationnaire.

    Cette stationnarité étant ici reliée à l’homogénéité de l’écoulement, dont on ne mesure

    qu’un sous-ensemble, de dimension un : l’invariance en espace se traduit, avec la

    condition de Taylor, par une invariance en temps.

    Figure 5 : Evolution des composantes principale (vert plein) transverse (bleu pointillé) et verticale (rouge pointillé) du profil de vitesse. En noir apparaît le vent moyen U (moyenne sur 5 minutes)

  • 15

    Dans la pratique, on considère que la condition de Taylor 𝑢′2 ≪ 𝑈2 est remplie

    dès que le vent moyen est suffisamment élevé par rapport à ses fluctuations, c'est-à-dire

    𝜍𝑈 < 0.5 𝑈, où 𝑈 désigne le vent moyen et 𝜍𝑈 son écart-type.

    La présence d’une zone inertielle quant à elle se vérifie immédiatement à l’aide de

    la loi de Kolmogorov, sur le tracé des spectres d’énergie de toutes les composantes de la

    vitesse, où le graphe logarithmique fait apparaître une pente en -5/3

    La zone inertielle est bien visible, mais on remarque qu’au lieu de continuer de

    descendre, le spectre se redresse vers les petites échelles, alors qu’on serait en droit de

    s’attendre à une chute brutale vers les petites échelles où l’énergie est complètement

    dissipée. Il s’agit en fait d’un bruit blanc, issu de l’appareil lui-même et qui fait tendre le

    spectre vers des valeurs constantes

    Enfin, l’isotropie, nous l’avons vu dans la partie précédente, est une condition

    nécessaire à l’établissement des équations de dissipation inertielle et du calcul de

    dissipation à l’aide des fonctions de structure d’ordre trois.

    On montre que cette isotropie se vérifie à l’aide des rapports des spectres

    principaux et transverses, 𝑆𝑣/𝑆𝑢 et 𝑆𝑤/𝑆𝑢. L’isotropie correspond à une constante

    égale à -4/3.

    Figure 6 : Spectres d’énergie des composantes principale (en haut) transverse (au milieu) et verticale (en bas) du profil de vitesse mesuré. En rouge sont tracées les droites de pente -5/3

  • 16

    Figure 7 : Rapports des spectres principaux et transverses, et vérification de la condition d’isotropie

    Malgré la dispersion progressive des valeurs encore bruitées, on observe très

    nettement le plateau en 4/3 requis par l’isotropie.

    Le calcul de dissipation par la méthode de dissipation inertielle et les fonctions de

    structure d’ordre trois est donc tout à fait légitime, pour des temps caractéristiques

    compris entre 1 et 10 secondes (fréquences caractéristiques comprises entre 0.1 et 1

    hertz), intervalle dans lequel toutes les conditions sont présentes, et donne un sens au

    calcul. On obtient les courbes suivantes :

  • 17

    Le bruit blanc se manifeste au niveau des mesures par une sur-dissipation

    artificielle. En revanche, on remarque que la dissipation se stabilise dans son domaine

    de validité autour d’une valeur d’environ 0.015 𝑚2𝑠−3.

    Le graphe suivant récapitule les résultats obtenus à l’aide des fonctions de

    structure d’ordre trois, à différents degrés de simplification

    Figure 8 : Estimation du taux de dissipation d’énergie cinétique turbulente à l’aide de la méthode de dissipation inertielle

    Figure 9 : Estimation des fonctions de structure d’ordre trois, et des taux de dissipation d’énergie cinétique turbulente associés (méthode des 4/5 en rouge, développement non simplifié en noir, et

    simplifications partielles en pointillés)

  • 18

    Si l’on se souvient de l’allure des rapports de spectres, on remarque qu’il n’y a pas

    une isotropie parfaite dans l’écoulement. Or c’est sur cette hypothèse principalement

    que s’appuie la méthode des 4/5, ce qui explique l’erreur importante que l’on observe

    sur la courbe rouge et la fiabilité réduite de la méthode dans des conditions imparfaites

    bien que proches des conditions idéales. Le calcul à l’aide de la fonction de structure

    non simplifiée s’avère en revanche plus robuste. On note qu’il se stabilise autour d’une

    valeur de 0.012 𝑚2𝑠−3, et l’on retrouve le même ordre de grandeur que précédemment.

    2.2. Simulation numérique Méso-NH

    L’intérêt d’une simulation numérique est l’ « omniscience » de l’observateur, qui a

    accès à toutes les informations dont il a besoin. Une simulation Méso-NH par exemple,

    permet de recréer numériquement les conditions de cisaillement près du sol que l’on

    avait étudiées à l’aide de données anémomètre. Aussi allons dans cette partie appliquer

    le même protocole dans une situation différente, plus complète et plus maitrisée.

    a. Paramètres de la simulation

    La simulation étudiée a été réalisée à partir d’un code Méso-NH. Le domaine de

    calcul fait 3km de long, 1km de large, 110m de hauteur et est partitionné en éléments

    de 6.25m de côté. Une maille étant trop importante pour rendre compte à elle toute

    seule des propriétés de la zone qu’elle recouvre, on utilise un modèle sous-maille qui

    rend compte de la dissipation visqueuse par l’ajout d’un terme de forçage. Cette

    méthode permettra par la suite d’expliquer certains résultats.

    En 𝑧 = 0 la condition d’adhérence à la paroi est maintenue, mais le modèle sous-

    maille domine et fausse les résultats obtenus. Nous nous placerons donc à une altitude

    raisonnablement éloignée du sol. La première opération consiste à orienter l’ensemble

    des données dans le sens du vent moyen. L’affichage des résultats permet d’observer

    différents motifs selon les différentes composantes de vitesse :

  • 19

    La présence de plusieurs prises de vue indépendantes les unes des autres nous permet

    dans le cas d’une simulation d’effectuer des moyennes d’ensemble et de débruiter les

    valeurs beaucoup plus facilement que dans le cas réel. Cependant, contrairement aux

    données réelles, la zone inertielle est beaucoup plus difficile à identifier :

    Figure 10 : affichage des composantes principale (en haut) transverse (au milieu) et verticale (en bas) d’une simulation Méso-NH à une altitude de 100m

    Figure 11 : Spectres d’énergie des composantes principale (en haut) transverse (au milieu) et verticale (en bas) du profil de vitesse mesuré. En rouge sont tracées les droites de pente -5/3

  • 20

    Figure 12 : Rapports des spectres principaux et transverses, vérification de la condition d’isotropie et influence du modèle sous-maille

    Figure 13 : Estimation du taux de dissipation d’énergie cinétique turbulente à l’aide de la méthode de dissipation inertielle

  • 21

    Figure 14 : Estimation des fonctions de structure d’ordre trois, et des taux de dissipation d’énergie cinétique turbulente associés (méthode des 4/5 en rouge, développement non simplifié en noir, et

    simplifications partielles en pointillés)

  • 22

    Conclusion

    La turbulence est donc un phénomène qui permet de canaliser l’énergie cinétique

    produite par des sources d’origines diverses en la transférant vers des échelles où elle

    sera dissipée par viscosité. Ainsi, la turbulence est synonyme d’instabilité et de chaos en

    termes de trajectoires, mais en termes d’ensembles, elle est synonyme de régularité et

    de stabilité. La turbulence qui naît du chaos apparaît, sur le plan statistique, comme un

    mécanisme régulateur qui favorise un comportement stable et régulier du milieu. Ce

    sont donc des outils statistiques qui vont permettre, sinon de comprendre, au moins de

    modéliser la turbulence dans des applications pratiques.

    Nous avons vu comment la théorie de Kolmogorov prévoit l’allure des courbes

    spectrales d’énergie et avons tenté d’en tirer parti pour évaluer de manière indirecte le

    taux de dissipation d’énergie cinétique turbulente. L’expérience montre toutefois la

    fragilité d’un tel modèle, soumis à des conditions très fortes. On lui préfèrera donc une

    méthode plus robuste, comme celle des fonctions de structure d’ordre trois, moins

    sensibles aux écarts aux conditions idéales.

    Un tel outil d’analyse pourrait être mis à profit pour étudier plus en détails les

    mécanismes de production et de dissipation d’énergie, prévoir l’évolution d’un système

    turbulent et peut-être de construire de nouveau modèles numériques plus réalistes.

  • 23

    Bibliographie

    [1] Laurent Jacquin & Patrick Tabeling : TURBULENCES ET TOURBILLONS (Editions de l’Ecole

    Polytechnique)

    [2] Peter J. Schmid : MECANIQUE DES FLUIDES NUMERIQUES (Editions de l’Ecole

    Polytechnique)

    [3] John H. Mathews and Kurtis K. Fink : NUMERICAL METHODS USING MATLAB (Fourth

    Edition)

    [4] Ronan Paugman, Daniel Cariolle, Roberto Paoli & Benedicte Cuenot :

    BIFURCATIONSIMULATION OF AIRCRAFT PLUMES USING A MESO SCALE CODE

    [5] Željko Večenaj, Danijel Belušid, Branko Grisogono : ESTIMATION OF TURBULENCE KINETIC

    ENERGY DISSIPATION RATE IN A BORA EVENT

    [6] Reginald J. Hill : EXACT SECOND-ORDER STRUTURE-FONCTION RELATIONSHIPS

    [7] F. Moisy, P. Tabeling & H. Willaime : KOLMOGOROV EQUATION IN A FULLY DEVELOPED

    TURBULENCE EXPERIMENT

  • 24

    Codes Matlab

    Traitement des données anémomètre

    function Main

    clear

    close all

    global Fe

    global U

    heure_debut = 5;

    heure_fin = 10;

    [t,T,u,v,w] = recuperation(heure_debut,heure_fin);

    [t,T,u,v,w] = extraction(t,T,u,v,w,1,35840*(heure_fin-

    heure_debut));

    [alpha,U,u,v] = orientation(u,v,3000);

    [beta ,U,u,w] = orientation(u+U,w,3000);

    [Su,Sv,Sw] = spectre_energie_debruite(u,v,w,256);

    % tests de verification de normalisation de la fft matlab

    % N = length(Su);

    % (sum(Su)*Fe/N) / (std(u)^2)

    % visualisation des resultats

    figure

    plot(t,w,'r:',t,v,'b:',t,u+U,'g-',t,U,'k')

    legend('w','v','u','U')

    xlabel('time [hour]')

    ylabel('u,v,w [m.s^{-1}]')

    axis tight

    title('Streamwise u, transverse v an vertical w wind

    components')

    hgsave releves

    print releves -djpeg

    figure

    N = length(Su);

    freq = Fe.*(-N/2:N/2-1)/N;

    subplot(3,1,1)

    loglog(freq,Su,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Su','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Su(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the streamwise velocity

    power spectrum density')

    grid on

  • 25

    subplot(3,1,2)

    loglog(freq,Sv,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Sv','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Sv(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the transversal velocity

    power spectrum density')

    grid on

    subplot(3,1,3)

    loglog(freq,Sw,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Sw','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Sw(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the vertical velocity

    power spectrum density')

    grid on

    hgsave spectres_energie

    print spectres_energie -djpeg

    figure

    semilogx(freq,Sw./Su,'mx',freq,Sv./Su,'gx',freq,4/3*ones(1,N),

    'k-')

    axis([Fe/(2*N) Fe 0 2])

    legend('Sw/Su','Sv/Su','4/3 ratio')

    xlabel('log(f) [Hz]')

    ylabel('Sv(f)/Su(f), Sw(f)/Su(f)')

    axis tight

    title('ratio between the transverse v (or vertical w) and

    streamwise u spectra')

    grid on

    hgsave isotropie

    print isotropie -djpeg

    % affichage des valeurs de epsilon calculees a l'aide des 2

    methodes

    epsilon_dissipation_inertielle = epsilon1(U,Su);

    figure

    semilogx(freq,epsilon_dissipation_inertielle,'b')

    legend('epsilon')

    xlabel('log(f) [Hz]')

    ylabel('epsilon [m^{2}s^{-3}]')

    axis tight

    title('Dependence of the dissipation rate espilon

    (inertial method) on frequency')

    grid on

    hgsave epsilon1

    print epsilon1 -djpeg

    figure

    [eps1,eps2,eps3,eps4,SF1,SF2,SF3,SF4,tau] =

    epsilon3(u,v,w,12);

    subplot(1,2,1)

    plot(tau,SF1,'r',tau,SF3,'g--',tau,SF4,'c--',tau,SF2,'k')

  • 26

    legend('streamwise','streamwise & transverse','streamwise

    & vertical','global','Location','Best')

    xlabel('t [s]')

    ylabel('3SF [m^{3}s^{-3}]')

    axis tight

    title('Dependence of third order structure function on

    time lag t')

    grid on

    subplot(1,2,2)

    plot(tau,eps1,'r',tau,eps3,'g--',tau,eps4,'c--

    ',tau,eps2,'k')

    legend('streamwise','streamwise & transverse','streamwise

    & vertical','global','Location','Best')

    xlabel('t [s]')

    ylabel('epsilon [m^{2}s^{-3}]')

    axis tight

    title('Dependence of the dissipation rate epsilon on time

    lag t')

    grid on

    hgsave epsilon2

    print epsilon2 -djpeg

    function Recuperation

    function [t,T,u,v,w] = recuperation(heure_debut,heure_fin)

    % Les donnees et le code sont dans 2 dossiers separes

    % les donnees recuperees ont ete mesurees entre heure_debut et

    heure_fin

    % t = heure de releves des donnees [h]

    % T = releves de temperature [°C]

    % u,v,w = composantes de la vitesse mesuree avec l'anemometre

    [m.s^{-1}]

    % Fe = frequence d'echantillonnage des mesures [Hz]

    global Fe

    t = [];

    T = [];

    u = [];

    v = [];

    w = [];

    % boucle de recuperation: chaque heure est enregistree dans un

    fichier separe

    for i = heure_debut:heure_fin-1

    if (i>9)

    load (['../donnees/data_sonique_10m_inst_'

    int2str(i) '00to' int2str(i) '59.mat'])

    else

    if (i==0)

    load

    (['../donnees/data_sonique_10m_inst_00to059.mat'])

    else

    load (['../donnees/data_sonique_10m_inst_0'

    int2str(i) '00to0' int2str(i) '59.mat'])

    end

  • 27

    end

    t = [t time_inst_10m];

    T = [T T_inst_10m];

    u = [u u_inst_10m];

    v = [v v_inst_10m];

    w = [w w_inst_10m];

    end

    % Fe ~ 10Hz

    Fe = length(t)/(3600*(heure_fin-heure_debut));

    function Extraction

    function [te,Te,ue,ve,we] =

    extraction(td,Td,ud,vd,wd,indice_debut,indice_fin)

    % fonction d'exctraction utile pour le decoupage des donnees

    indices = [indice_debut:indice_fin];

    te = td(indices);

    Te = Td(indices);

    ue = ud(indices);

    ve = vd(indices);

    we = wd(indices);

    function orientation

    function [alpha,U,up,vp]= orientation(ud,vd,np)

    % orientation de la vitesse dans le sens du vent moyen sur

    l'echantillon considere

    % le vent moyen est calculé en moyennant sur np points

    % ud,vd = valeurs brutes relevees par l'anemometre [m.s^{-1}]

    % alpha = direction moyenne du vent par rapport à

    l'orientation de l'anemometre [°]

    % U = intensite moyenne du vent [m.s^{-1}]

    % up,vp = valeurs des perturbations dans le nouveau repere

    [m.s^{-1}]

    N = length(ud);

    np = min(N,np);

    alpha = zeros(1,N);

    U = zeros(1,N);

    up = zeros(1,N);

    vp = zeros(1,N);

    for i = 1:N

    i_debut = max(1,i-np);

    i_fin = min(N,i+np);

    um = mean(ud(i_debut:i_fin));

    vm = mean(vd(i_debut:i_fin));

    U(i) = sqrt(um^2+vm^2);

    cosAlpha = um/U(i);

  • 28

    sinAlpha = vm/U(i);

    alpha(i) = acos(cosAlpha)*360/(2*pi);

    up(i) = cosAlpha*ud(i) + sinAlpha*vd(i) - U(i);

    vp(i) = -sinAlpha*ud(i) + cosAlpha*vd(i);

    end

    function Spectre

    function Sp = spectre(d1,d2)

    % calcule le spectre dde d1*d2

    global Fe

    N = length(d1);

    freq = Fe.*(-N/2:N/2-1)/N;

    d1f = fftshift(fft(d1));

    d2f = fftshift(fft(d2));

    Sp = abs(d1f.*conj(d2f))/Fe/N;

    function Spectre_debruite

    function Sp = spectre_debruite(d1,d2,n_decoupage)

    % calcule le spectre de d1*d2 debruite en moyennant les

    spectres d'une partition de l'echantillon

    % n_decoupage = nombre de subdivisions de l'echantillon

    % plus le sous-echantillon est petit, moins la gamme de

    frequence analysee est importante

    N = length(d1);

    Sp = zeros(1,2*N/n_decoupage);

    for i = 0:n_decoupage-2

    indices = [1:2*N/n_decoupage]+i*N/n_decoupage;

    S = spectre(d1(indices),d2(indices));

    Sp = Sp+S/(n_decoupage-1);

    end

    function Spectre_energie

    function [Su,Sv,Sw] = spectre_energie(u,v,w)

    % calcule le spectre d'energie cinetique turbulente des

    composantes u,v,w de la vitesse

    global Fe

    N = length(u);

    freq = Fe.*(-N/2:N/2-1)/N;

  • 29

    uf = fftshift(fft(u));

    vf = fftshift(fft(v));

    wf = fftshift(fft(w));

    Su = uf.*conj(uf)/Fe/N;

    Sv = vf.*conj(vf)/Fe/N;

    Sw = wf.*conj(wf)/Fe/N;

    function Spectre_energie_debruite

    function [Su,Sv,Sw] =

    spectre_energie_debruite(u,v,w,n_decoupage)

    % calcule le spectre d'energie debruite en moyennant les

    spectres d'une partition de l'echantillon

    % n_decoupage = nombre de subdivisions de l'echantillon

    % plus le sous-echantillon est petit, moins la gamme de

    frequence analysee est importante

    N = length(u);

    Su = zeros(1,2*N/n_decoupage);

    Sv = zeros(1,2*N/n_decoupage);

    Sw = zeros(1,2*N/n_decoupage);

    for i = 0:n_decoupage-2

    indices = [1:2*N/n_decoupage]+i*N/n_decoupage;

    [S1,S2,S3] =

    spectre_energie(u(indices),v(indices),w(indices));

    Su = Su+S1/(n_decoupage-1);

    Sv = Sv+S2/(n_decoupage-1);

    Sw = Sw+S3/(n_decoupage-1);

    end

    function Epsilon1

    function epsilon = epsilon1(U,Su);

    % calcul de la dissipation inertielle à partir du spectre

    d'energie

    Kolmogorov = 0.53;

    global Fe

    N = length(Su);

    freq = Fe.*(-N/2:N/2-1)/N;

    epsilon =

    2*pi/mean(U)*((freq.^(5/3)).*abs(Su)/Kolmogorov).^(3/2);

    function Epsilon3

    function [eps1,eps2,eps3,eps4,SF1,SF2,SF3,SF4,tau] =

    epsilon3(u,v,w,s);

  • 30

    % calcul des moments d'ordre 3 et des taux de dissipation

    associés

    % les intervalles de temps dt vont de 1/Fe à s secondes

    global Fe

    global U

    N = length(u);

    SF1 = [];

    SF2 = [];

    SF3 = [];

    SF4 = [];

    tau = [];

    for i = 1:(10*s)

    du = u([1+i:length(u)])-u([1:length(u)-i]);

    dv = v([1+i:length(u)])-v([1:length(u)-i]);

    dw = w([1+i:length(u)])-w([1:length(u)-i]);

    SF1 = [SF1 mean(du.^3)];

    SF2 = [SF2 mean(du.^3)+ mean((dv.^2+dw.^2).*(du))];

    SF3 = [SF3 mean(du.^3)+2*mean((dv.^2 ).*(du))];

    SF4 = [SF4 mean(du.^3)+2*mean((dw.^2 ).*(du))];

    tau = [tau i/Fe];

    end

    eps1 = 5/4/mean(U)*SF1./tau;

    eps2 = 3/4/mean(U)*SF2./tau;

    eps3 = 3/4/mean(U)*SF3./tau;

    eps4 = 3/4/mean(U)*SF4./tau;

  • 31

    Traitement des données numériques

    function Main

    clear

    close all

    global Fe

    global r

    global U

    altitude = 6;

    [t,x,y,u,v,w,Su,Sv,Sw] = recuperation(altitude);

    % tests de verification de normalisation de la fft matlab

    % (sum(Su)*Fe/N) / (std(u(10,:))^2)

    % visualisation des releves

    figure

    t = x/U/3600;

    plot(t,w(10,:),'r:',t,v(10,:),'b:',t,u(10,:)+U,'g-

    ',t,U,'k')

    legend('w','v','u','U')

    xlabel('time [hour]')

    ylabel('u,v,w [m.s^{-1}]')

    title('Streamwise u, transverse v an vertical w wind

    components')

    hgsave releve_temporel

    print releve_temporel -djpeg

    figure

    colormap(Winter)

    subplot(3,1,1)

    pcolor(x(1:482),y,u(:,1:482)+U); shading flat; colorbar

    xlabel('x [m]')

    ylabel('y [m]')

    title('Streamwise u wind component')

    subplot(3,1,2)

    pcolor(x(1:482),y,v(:,1:482)) ; shading flat; colorbar

    xlabel('x [m]')

    ylabel('y [m]')

    title('Transverse v wind component')

    subplot(3,1,3)

    pcolor(x(1:482),y,w(:,1:482)) ; shading flat; colorbar

    xlabel('x [m]')

    ylabel('y [m]')

    title('Vertical w wind component')

    hgsave releve_spatial

    print releve_spatial -djpeg

    figure

    N = length(Su);

    freq = Fe.*(-N/2:N/2-1)/N;

  • 32

    subplot(3,1,1)

    loglog(freq,Su,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Su','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Su(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the streamwise velocity

    power spectrum density')

    grid on

    subplot(3,1,2)

    loglog(freq,Sv,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Sv','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Sv(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the transversal velocity

    power spectrum density')

    grid on

    subplot(3,1,3)

    loglog(freq,Sw,'b',freq,freq.^(-5/3)/5,'r')

    axis([Fe/(2*N) Fe min(Su) max(Su)])

    legend('Sw','-5/3 slope')

    xlabel('log(f) [Hz]')

    ylabel('log(Sw(f)) [m^{2}s^{-1}]')

    title('Log-log representation of the vertical velocity

    power spectrum density')

    grid on

    hgsave spectres_energie

    print spectres_energie -djpeg

    figure

    semilogx(freq,Sw./Su,'mx',freq,Sv./Su,'gx',freq,4/3*ones(1,N),

    'k-')

    axis([Fe/(2*N) Fe 0 2])

    legend('Sw/Su','Sv/Su','4/3 ratio')

    xlabel('log(f) [Hz]')

    ylabel('Sv(f)/Su(f), Sw(f)/Su(f)')

    title('ratio between the transverse v (or vertical w) and

    streamwise u spectra')

    grid on

    hgsave isotropie

    print isotropie -djpeg

    % affichage des valeurs de epsilon calculees a l'aide des 2

    methodes

    epsilon_dissipation_inetrielle = epsilon1(Su);

    figure

    semilogx(freq,epsilon_dissipation_inetrielle,'b')

    legend('epsilon')

    xlabel('log(f) [Hz]')

    ylabel('epsilon [m^{2}s^{-3}]')

    title('Dependence of the dissipation rate espilon

    (inertial method) on frequency')

    grid on

    hgsave epsilon1

    print epsilon1 -djpeg

  • 33

    figure

    [eps1,eps2,eps3,eps4,SF1,SF2,SF3,SF4,tau] =

    epsilon3(u,v,w,20);

    subplot(1,2,1)

    plot(tau,SF1,'r',tau,SF3,'g--',tau,SF4,'c--',tau,SF2,'k')

    legend('streamwise','streamwise & transverse','streamwise

    & vertical','global','Location','South')

    xlabel('t [s]')

    ylabel('3SF [m^{3}s^{-3}]')

    title('Dependence of third order structure function on

    time lag t')

    grid on

    subplot(1,2,2)

    plot(tau,eps1,'r',tau,eps3,'g--',tau,eps4,'c--

    ',tau,eps2,'k')

    legend('streamwise','streamwise & transverse','streamwise

    & vertical','global','Location','South')

    xlabel('t [s]')

    ylabel('epsilon [m^{2}s^{-3}]')

    title('Dependence of the dissipation rate epsilon on time

    lag t')

    grid on

    hgsave epsilon2

    print epsilon2 -djpeg

    function Recuperation

    function [t,xx,y,un,vn,wn,Sun,Svn,Swn] = recuperation(h,i)

    % Les donnees et le code sont dans 2 dossiers separes

    % Les donnees ont ete recuperees a la hauteur h, sur le i°

    snapshot

    % un,vn,wn = composantes de la vitesse normalisee selon le

    vent moyen en x [m.s^{-1}]

    % Sun,Svn,Swn = spectres d'energie des vitesses un, vn et wn

    % Fe = frequence d'echantillonnage des mesures

    global Fe

    global r

    global U

    load (['../donnees/MesoNH.mat'])

    % calcul de grandeurs utiles

    nx = length(x);

    ny = length(y);

    x = x(2:nx);

    y = y(2:ny);

    lx = x(end);

    ly = y(end);

    dx = x(2)-x(1);

    dy = y(2)-y(1);

    r = dx;

  • 34

    Fe = U/dx;

    % declaration de variables

    xx = [];

    un = [];

    vn = [];

    wn = [];

    Sun = 0*x';

    Svn = 0*x';

    Swn = 0*x';

    % correction du decalage de calcul sur la grille

    u = squeeze((u(h,2:ny,2:nx,:) +u(h,1:ny-1,2:nx,:))/2);

    v = squeeze((v(h,2:ny,2:nx,:) +v(h,2:ny,1:nx-1,:))/2);

    w = squeeze((w(h-1,2:ny,2:nx,:)+w(h,2:ny,2:nx,:) )/2);

    nx = nx-1;

    ny = ny-1;

    % obtention du vent moyen pour un échantillon donne

    Umoy = [mean(mean(mean(u))),mean(mean(mean(v)))];

    U = norm(Umoy);

    % orientation du vent dans le sens du vent moyen

    cosAlpha = Umoy(1)/U;

    sinAlpha = Umoy(2)/U;

    up = cosAlpha*u + sinAlpha*v - U;

    vp = -sinAlpha*u + cosAlpha*v;

    wp = w;

    % orientation de la grille dans le sens du vent moyen

    [x0,y0]=meshgrid(x,y);

    xr=mod(cosAlpha.*x0-sinAlpha.*y0,lx);

    yr=mod(sinAlpha.*x0+cosAlpha.*y0,ly);

    % moyenne d'ensemble realisee sur l'ensemble des snapshots

    for i=1:14

    ui = interp2(x,y,up(:,:,i),xr,yr,'cubic');

    vi = interp2(x,y,vp(:,:,i),xr,yr,'cubic');

    wi = interp2(x,y,wp(:,:,i),xr,yr,'cubic');

    % calcul des spectres, debruites par moyenne spatiale

    [Sui,Svi,Swi] = spectre_energie(ui(1,:),vi(1,:),wi(1,:));

    for j = 2:ny

    [Suui,Svvi,Swwi] =

    spectre_energie(ui(j,:),vi(j,:),wi(j,:));

    Sui = Sui + Suui;

    Svi = Svi + Svvi;

    Swi = Swi + Swwi;

    end

    xx = [xx' x'+(i-1)*x(end)]';

    un = [un ui];

    vn = [vn vi];

    wn = [wn wi];

    Sun = Sun+Sui;

    Svn = Svn+Svi;

  • 35

    Swn = Swn+Swi;

    end

    Sun = Sun/ny/14;

    Svn = Svn/ny/14;

    Swn = Swn/ny/14;

    t = x/U/3600;

    function Spectre_energie

    function [Su,Sv,Sw] = spectre_energie(u,v,w)

    % calcule le spectre d'energie cinetique turbulente des

    composantes u,v,w de la vitesse

    global Fe

    N = length(u);

    freq = Fe.*(-N/2:N/2-1)/N;

    uf = fftshift(fft(u));

    vf = fftshift(fft(v));

    wf = fftshift(fft(w));

    Su = uf.*conj(uf)/Fe/N;

    Sv = vf.*conj(vf)/Fe/N;

    Sw = wf.*conj(wf)/Fe/N;

    function Epsilon1

    function epsilon = epsilon1(Su);

    % calcul de la dissipation inertielle à partir du spectre

    d'energie

    Kolmogorov = 0.53;

    global Fe

    global U

    N = length(Su);

    freq = Fe.*(-N/2:N/2-1)/N;

    epsilon = 2*pi/U*((freq.^(5/3)).*abs(Su)/Kolmogorov).^(3/2);

    function Epsilon3

    function [eps1,eps2,eps3,eps4,SF1,SF2,SF3,SF4,tau] =

    epsilon3(u,v,w,s);

    % calcul des moments d'ordre 3 et des taux de dissipation

    associés

    % les intervalles de temps dt vont de 1/Fe à s secondes

  • 36

    global Fe

    global r

    global U

    N = length(u);

    SF1 = [];

    SF2 = [];

    SF3 = [];

    SF4 = [];

    tau = [];

    for i = 1:(Fe*s)

    du = -u([1+i:length(u)])+u([1:length(u)-i]);

    dv = -v([1+i:length(u)])+v([1:length(u)-i]);

    dw = -w([1+i:length(u)])+w([1:length(u)-i]);

    SF1 = [SF1 mean(du.^3)];

    SF2 = [SF2 mean(du.^3)+ mean((dv.^2+dw.^2).*(du))];

    SF3 = [SF3 mean(du.^3)+2*mean((dv.^2 ).*(du))];

    SF4 = [SF4 mean(du.^3)+2*mean((dw.^2 ).*(du))];

    tau = [tau i/Fe];

    end

    eps1 = 5/4/mean(U)*SF1./tau;

    eps2 = 3/4/mean(U)*SF2./tau;

    eps3 = 3/4/mean(U)*SF3./tau;

    eps4 = 3/4/mean(U)*SF4./tau;