Générer des profils hydrauliques en deux dimensions - Théorie

Un profil de base - Les critères

La génération d'un profil hydraulique par une équation algébrique peut être considérée comme un point de départ pour une conception.

Imposons que sa forme canonique soit pour une longueur de 1 ou plus précisément une corde[1] de longueur 1.

Le profil doit satisfaire les critères suivant :

  1. Au bord d'attaque, x=0 , dy/dx = ∞.

  2. Au bord de fuite, x=1, dy/dx = 0.

  3. À l'épaisseur maximale, x = xemax, y = ymax et dy/dx = 0.

On observe qu'ainsi, on obtient un demi profil. Le profil complet est donc l'assemblage de deux demis profils qui peuvent être différenciés mais de même longueur.

Les propriétés d'un profil hydrauliqueInformations[2]

Dans les prochaines lignes nous allons voir comment créer des profils avec toute la latitude nécessaire en conception de turbine hydraulique.

La première méthode fait appel aux logiciels de conception assistée par ordinateur (CAO ou CAD) comme FreeCAD où les formes à pôles sont intégrés et donnent une méthode robuste et flexible au concepteur.

Ensuite. on y présente 2 modèles algébriques  :

  1. La courbe en oignon.

  2. Le polynôme.

qui peuvent être programmé aisément. À titre d'exemple, un programme en Scilab est fourni.

FondamentalTraçage d'un profil hydraulique en deux dimensions dans un logiciel de conception assisté par ordinateur

De nos jours, tous les systèmes de CAO, font appel aux formes à pôle pour générer les géométries complexes. Ces formes sont des implantations des courbes de Bézier, des Bsplines et des Nurbs, ces dernières étant la généralisation de toutes les autres avec encore plus de possibilités. Pour la théorie de ces formes on pourra se référer à Wikipedia ainsi : NURBS , Bézier.

La mise en place de la méthode de génération d'un profil en deux dimensions avec FreeCAD est ici .

FondamentalDe la courbe en oignon de base à la courbe en oignon paramétrée

La recherche d'une fonction algébrique qui satisfait les critères a amené le professeur Th. Bovet[3] à proposer la courbe en oignon (Zwiebelkurve) ou oignoïde qui s'exprime dans sa forme simplifiée pour x variant entre 0 et 1 comme :

y = 2 x ( 1 x ) 3 avec comme dérivée: dy dx = ( 1 + x ( 6 + x ( 9 4 x ) ) ) x ( 1 x ) 3 y=2 sqrt{x (1- x)^{3} } newline newline "avec comme dérivée:" newline newline {dy} over {dx} = { (1+x (-6+x (9-4x) ) ) } over { sqrt{x (1- x)^{3}} }

On peut donc extraire certaines valeurs caractéristiques de cette oignoïde.

Le maximum de l'épaisseur se trouve lorsque dy/dx = 0 avec une des racine à x = xemax= 0,25 ; ceci correspond à une demie épaisseur maximale de y = ymax = 3 3 8 {3 sqrt{3}} over {8 } .

La valeur de l'épaisseur maximale et sa position ont avantage à être flexibles.

Donc, si on veut imposer une demie épaisseur relative maximale ymax on obtient l'équation de l'oignon suivante :

y = 16 ( 3 ) 9 y max x ( 1 x ) 3 y= {16 sqrt(3)} over {9}*y_max * sqrt{x (1- x)^{3} }

Maintenant, sur le segment x entre 0 et un on trouve le maximum d'épaisseur à 0,25. Pour déplacer ce point à un endroit spécifique, il faut faire une transformation de la variable faisant correspondre :

x

xt

0

0

0,25

xemax

1

1

Supposons une fonction du type exponentielle pour cette transformation.

x = x t p ainsi pour la position 0,25 on aura : 0,25 = x t p ce qui implique que : p = log x 0,25 = ( log 0,25 log x emax ) et donc : x = x t ( log 0,25 log x emax ) x=x_t^p newline newline "ainsi pour la position 0,25 on aura :" newline newline 0,25=x_t^p newline newline "ce qui implique que :" newline newline p = log_x 0,25 = left ( {log 0,25} over {log x_emax} right ) newline "et donc :" newline x=x_t^left ( {log 0,25} over {log x_emax} right )newline newline

Il suffit de placer cette transformation de variable dans la courbe oignon pour obtenir  la courbe en oignon paramétrée :

y = 16 ( 3 ) 9 y max x t ( log 0,25 log x emax ) ( 1 x t ( log 0,25 log x emax ) ) 3 y= {16 sqrt(3)} over {9}*y_max * sqrt{x_t^left ( {log 0,25} over {log x_emax} right ) left(1- x_t^left ( {log 0,25} over {log x_emax} right )right)^{3} }

FondamentalUne courbe polynomiale

Pour ce modèle algébrique on exprime la courbe comme étant une fonction de l'abscisse curviligne variant entre 0 et 1. On exprime donc les coordonnées (x,y) comme étant fonctions d'une même variable t, l'abscisse curviligne. Donc x=f(t) et y=f(t).

Pour x, aux conditions numérotées 1,3 et 4 ci-bas et qui correspondent aux critères, on ajoute une quatrième condition qui est la position sur l'abscisse curviligne de l'épaisseur du profil. Donc à t=u, correspond xu et yu., doit la condition numérotée 7. Ceci nous amène donc à 4 variables qui commandent une fonction cubique.

Parallèlement, pour y on identifie donc 5 conditions numérotées 2, 5 ,6, 8 et 9 qui commandent un polynôme quartique.

Soit x et y des fonctions de t x = f ( t ) = f 0 + f 1 t + f 2 t 2 + f 3 t 3 y = g ( t ) = g 0 + g 1 t + g 2 t 2 + g 3 t 3 + g 4 t 4 dx dt = f 1 + 2 f 2 t + 3 f 3 t 2 dy dt = g 1 + 2 g 2 t + 3 g 3 t 2 + 4 g 4 t 3 d 2 y dt 2 = 2 g 2 + 6 g 3 t + 12 g 4 t 2 Conditions à t=0 : (1) x = 0 (2) y = 0 (3) dx dy = dx dt = 0 (1) f 0 = 0 (2) g o = 0 (3) f 1 = 0 Conditions à t=1 : (4) x = 1 (5) y = 0 (6) dy dx = dy dt = 0 (4) f 2 + f 3 = 1 (5) g 1 + g 2 + g 3 + g 4 = 0 (6) g 1 + 2 g 2 + 3 g 3 + 4 g 4 = 0 Conditions à t=u : (7) x = x u (8) y = y u (9) dy dx = dy dt = 0 (7) f 2 u 2 + f 3 u 3 = x u (8) g 1 u + g 2 u 2 + g 3 u 3 + g 4 u 4 = y u (9) g 1 + 2 g 2 u + 3 g 3 u 2 + 4 g 4 u 3 = 0 Solutionnons pour g4 et u (5) & (6) g 2 + 2 g 3 + 3 g 4 = 0 g 2 = 2 g 3 3 g 4 g 1 = g 3 + 2 g 4 (8) ( g 3 + 2 g 4 ) u + ( 2 g 3 3 g 4 ) u 2 + g 3 u 3 + g 4 u 4 = y u g 3 ( u 2 u 2 + u 3 ) + g 4 ( 2 u 3 u 2 + u 4 ) = y u g 3 = y u g 4 ( 2 u 3 u 2 + u 4 ) ( u 2 u 2 + u 3 ) g 3 = y u ( u 2 u 2 + u 3 ) g 4 2 u 3 u 2 + u 4 u 2 u 2 + u 3 (9) g 3 + 2 g 4 + 2 ( 2 g 3 3 g 4 ) u + 3 g 3 u 2 + 4 g 4 u 3 = 0 g 3 ( 1 4 u + 3 u 2 ) + g 4 ( 2 6 u + 4 u 3 ) = 0 ( y u ( u 2 u 2 + u 3 ) g 4 2 u 3 u 2 + u 4 u 2 u 2 + u 3 ) ( 1 4 u + 3 u 2 ) + g 4 ( 2 6 u + 4 u 3 ) = 0 g 4 = y u ( 1 4 u + 3 u 2 ) ( u 2 u 2 + u 3 ) ( 2 6 u + 4 u 3 ) ( 1 4 u + 3 u 2 ) 2 u 3 u 2 + u 4 u 2 u 2 + u 3 "Soit x et y des fonctions de t" newline newline x=f( t)=f_0+f_1 t+f_2 t^2+f_3 t^3 newline y=g( t)=g_0+g_1 t+g_2 t^2+g_3 t^3+g_4 t^4 newline newline {dx} over {dt} =f_1 +2f_2 t + 3f_3 t^2 newline {dy} over {dt} =g_1+2g_2 t+3g_3 t^2+4g_4 t^3 newline {d^2 y} over {dt^2 }= 2g_2 +6g_3 t +12g_4 t^2 newline newline "Conditions à t=0 :" newline newline "(1) " x=0 newline "(2) " y=0 newline "(3) " {dx} over {dy}={dx} over {dt}=0 newline newline "(1) "rightarrow " " f_0=0 newline "(2) "rightarrow " " g_o=0 newline "(3) " rightarrow " " f_1=0 newline newline "Conditions à t=1 :" newline newline "(4) " x=1 newline "(5) " y=0 newline "(6) " {dy} over {dx}={dy} over {dt}=0 newline newline "(4) " rightarrow f_2+f_3=1 newline "(5) " rightarrow g_1+g_2+g_3+g_4=0 newline "(6) " rightarrow g_1+2g_2+3g_3+4g_4=0 newline newline "Conditions à t=u :" newline newline "(7) " x=x_u newline "(8) " y=y_u newline "(9) " {dy} over {dx}={dy} over {dt}=0 newline newline "(7) " rightarrow f_2 u^2+f_3 u^3 =x_u newline "(8) " rightarrow g_1 u+g_2 u^2+g_3 u^3+g_4 u^4 =y_u newline "(9) " rightarrow g_1+2g_2 u+3g_3 u^2+4g_4 u^3 =0 newline newline newline "Solutionnons pour g4 et u" newline newline "(5) & (6) "rightarrow g_2+2g_3 + 3g_4=0 newline g_2=-2g_3 - 3g_4 newline g_1=g_3 +2g_4 newline "(8) " rightarrow (g_3 +2g_4) u+(-2g_3 - 3g_4) u^2+g_3 u^3+g_4 u^4 =y_u newline g_3 ( u-2u^2+u^3 )+g_4( 2u-3u^2 +u^4 )= y_u newline newline g_3= {y_u-g_4( 2u-3u^2 +u^4 )} over {( u-2u^2+u^3 )} newline g_3= {y_u} over {( u-2u^2+u^3 )}-g_4 {2u-3u^2 +u^4 } over {u-2u^2+u^3} newline newline "(9) " rightarrow g_3 +2g_4 +2(-2g_3 - 3g_4) u+3g_3 u^2+4g_4 u^3 =0 newline g_3( 1-4u+3u^2 )+g_4( 2-6u+4u^3 ) =0 newline newline left( {y_u} over {( u-2u^2+u^3 )}- g_4 {2u-3u^2 +u^4 } over {u-2u^2+u^3} right ) ( 1-4u+3u^2 )+g_4( 2-6u+4u^3 ) =0 newline newline g_4= {{-y_u( 1-4u+3u^2 )} over {( u-2u^2+u^3 )}} over {( 2-6u+4u^3 )-( 1-4u+3u^2 ){2u-3u^2 +u^4 } over {u-2u^2+u^3}} newline newline newline newline

Ce modèle comparé à la courbe en oignon donne un peu plus de flexibilité sur la courbe tout en respectant les critères. Ce plus la distribution des points est plus optimale et permet d'éviter d'ajouter un facteur de concentration comme pour la courbe en oignon.

ComplémentGénération des points sur le profil

Les besoins d'affichage, de calcul numérique et de transmission à un modeleur géométrique créent le besoin de discrétisation du profil. Or, on s'aperçoit rapidement qu'une génération des points à partir de coordonnées x régulières crée une qualité de profil qui se dégrade au bord d'attaque en présentant des angles plus on moins acceptables selon le nombre de points utilisé pour représenter le profil. Augmenter le nombre de points peut être une solution.

À cause de la courbure au bord d'attaque la définition régulière en x n'est pas satisfaisanteInformations[4]

Une première étape pour une solution plus élégante est de définir les points à égale distance sur le profil donc sur l'abscisse curviligne du profil.

s ( t ) = 0 t ( dx dt ) 2 + ( dy dt ) 2 dt qui se met en place numériquement en associant à chaque intervalle i i + 1 : la distance s i s i = ( ( Δ x i ) 2 + ( Δ y i ) 2 ) dont la sommation donne la longueur totale longueur = s i on peut donc associer une abscisse curviligne t de longeur totale 1 : t i = t ( i 1 ) + s ( i 1 ) / longueur s( t)= int from{0} to{t} sqrt{ left ( {dx} over {dt} right )^2 +left ( {dy} over {dt} right )^2 } dt newline newline "qui se met en place numériquement en associant à chaque intervalle " i rightarrow i+1:" la distance " s_i newline newline s_i=sqrt( ( %DELTA x_i )^2 + (%DELTA y_i )^2 ) newline newline "dont la sommation donne la longueur totale" newline newline longueur = sum s_i newline newline "on peut donc associer une abscisse curviligne t de longeur totale 1 : " newline newline t_i=t_(i-1) + s_(i-1)/longueur

Dès lors, on peut calculer à l'aide d'un interpolateur toute coordonnée x ou y comme une fonction de t, l'abscisse curviligne qui varie entre 0 et 1 le long de la courbe.

Le résultat d'une distribution à égale distance le long du profil curviligne améliore la définition.

La distribution régulière en abscisse curviligne améliore la définition du profilInformations[5]

Ce résultat demeure perfectible et se corrige en introduisant la notion de concentration des points au bord d'attaque. Si on exprime que la longueur d'un intervalle est une proportion (c) de l'intervalle précédent.

Donc pour n points et n-1 intervalles, on peut écrire pour un premier intervalle Δd  :

d 1 = Δ d d i = c d ( i 1 ) d total = d 1 + d 2 + d 3 + ... d ( n 2 ) + d ( n 1 ) d total = Δ d + c Δ d + c 2 Δ d + c 3 Δ d + ... + c ( n 3 ) Δ d + c ( n 2 ) Δ d d total = Δ d ( 1 + c + c 2 + ... + c ( n 2 ) ) en normalisant pour une longueur curviligne totale de 1 et posant Δ d = 1 1 = Δ d d total ( 1 + c + c 2 + ... + c ( n 2 ) ) = 1 d total ( 1 + c + c 2 + ... + c ( n 2 ) ) En reconstruidant la position curviligne des points compris entre 0 et 1: 1 = s 0 + s 1 + s 2 + s 3 + ... s ( n 1 ) + s n 1 = 0 + 1 / d total + c / d total + c 2 / d total ... d_1 = %DELTA d newline newline d_i= c d_(i-1) newline newline d_total = d_1 + d_2 + d_3 + ... d_(n-2) + d_(n-1) newline newline d_total = %DELTA d + c %DELTA d + c^2 %DELTA d + c^3 %DELTA d + ... + c^(n-3) %DELTA d + c^(n-2) %DELTA d newline newline d_total = %DELTA d ( 1+ c+ c^2 + ... + c^(n-2) ) newline newline "en normalisant pour une longueur curviligne totale de 1 et posant " %DELTA d = 1 newline newline 1= {%DELTA d} over {d_total} ( 1+ c+ c^2 + ... + c^(n-2) )={1} over {d_total} ( 1+ c+ c^2 + ... + c^(n-2) ) newline newline "En reconstruidant la position curviligne des points compris entre 0 et 1:" newline newline 1=s_0 + s_1 + s_2 + s_3 + ... s_(n-1) + s_n newline newline 1=0 + 1/d_total + c/d_total + c^2 /d_total ...

On peut donc maintenant exprimer une distribution de points en fonction du facteur c. Pour un facteur c de 1,2 on obtient la distribution représentée sur la figure.

Distribution géométrique par une facteur de concentrationInformations[6]

ComplémentL'inscription du profil sur un arc de cercle

Pour donner une degré de liberté additionnel au concepteur, il est intéressant d'enrouler le profil généré en inscrivant la corde du profil sur une abscisse curviligne.

Le besoin est de dévier l'écoulement d'un certain angle. L'arc de cercle permet d'y arriver de façon graduelle et en douceur.

On veut donc inscrire le profil sur un arc de cercle.

Posons le bord d'attaque à la coordonnée (0, 0) et le centre du rayon de courbure est situé à (0,-Rc) où Rc est le rayon de courbure.

Le rayon d'un point sur le profil sera :

Enroulement du profil sur le rayon de courbure RcInformations[7]
Rc i = Rc + y i La positi0n angulaire de ce point sera : α i = x x / Rc Les coordonnées cartésiennes sur le cercle de rayon Rc seront maintenant : x i = Rc i sin ( α i ) y i = Rc i cos ( α i ) Rc Rc_i=Rc+y_i newline "La positi0n angulaire de ce point sera : " newline %alpha _i = x_x/Rc newline "Les coordonnées cartésiennes sur le cercle de rayon Rc seront maintenant : " newline x_i=Rc_i * sin( %alpha _i ) newline y_i=Rc_i * cos( %alpha _i ) - Rc newline

Étude du squelette d'un profil en 2D

Un profil complet est un assemblage d'une face intrados et d'une face extrados. Chacune des deux faces du profil peut être construite avec une épaisseurs maximale différenciée. Ci-contre, les deux profils intrados et extrados et la corde entre le bord d'attaque et le bord de fuite.

Profils avec épaisseurs différenciées en intrados et extrados et la cordeInformations[8]

Les profils peuvent aussi s'inscrire sur une abscisse curviligne. Comme le profil peut ne pas être symétrique, le résultat est que le squelette ou la fibre neutre du profil n'est pas sur la corde.

Le squelette est donc défini comme étant la moyenne des profils intrados et extrados. Il présente un angle amont au bord d'attaque et un angle aval au bord de fuite dont la différence nous donne la déviation potentielle.

Le squelette devient une indication importante du potentiel de déviation du fluide par le profil. C'est en fait un critère de conception.

Avec les paramètres d'épaisseur maximale des profils intrados et extrados et le rayon de courbure , on peut créer une large gamme de profils.

Complément

La mise en place de la méthode de génération d'un profil en deux dimensions est ici .