Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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;