EOLIENNE VERTICALE « ROTAPEC »
Transcription
EOLIENNE VERTICALE « ROTAPEC »
DS 2 - INFO PSI 2014-2015 EOLIENNE VERTICALE « ROTAPEC » Habituellement, les éoliennes sont sur des mâts et demande un terrain dégagé. Hors les éoliennes verticales peuvent être installées sur des toits terrasses. Inutilisé votre toit peut accueillir une éolienne pour alimenter en électricité votre bâtiment ou faire chauffer votre ballon d'eau chaude. En effet toutes les éoliennes Rotapec proposent une solution inédite pour l'alimentation de votre ballon d'eau chaude. Que vous soyez un particulier, une entreprise (hôtel,restaurant...) ou une collectivité, cette solution est intéressante pour vous. La gamme de puissance de Rotapec permet de répondre à tous les besoins d'énergie. Problématique Dans le cadre d’un TIPE, un élève cherche à déterminer les performances de ce type d’éolienne. Nous allons essayez de l’aider. Toutes les questions sont indépendantes ! ! ! CPGE Brizeux 1/8 DS 2 - INFO I. PSI 2014-2015 Profil des pales : définition d’une fonction, tracé de courbes Le profil des pales utilisé est le profil symétrique NACA 0015 Profil supérieur Profil inférieur L’équation du profil supérieur est donnée (le profil inférieur est symétrique): 𝑦(𝑥) = 𝑡. 𝑐 0,2 𝑥 𝑥 𝑥 2 𝑥 3 𝑥 4 𝑐 𝑐 𝑐 𝑐 𝑐 . (0,2969 ∗ √ − 0,1260. ( ) − 0,3516. ( ) + 0.2843. ( ) − 0.1015. ( ) ) (équation 1) avec { 𝑐 = 150 𝑚𝑚 𝑡 = 0,15 Question 1. Compléter sur le document réponse la fonction renvoyant l’abscisse 𝑦 (mm) du profil supérieur en fonction de son ordonnée 𝑥 (mm) def mystere(fonction,xmin,xmax) : """ mystere(fonction,xmin,xmax)->réel renvoie ???? xmin, xmax : intervalle de recherche """ valeur = 0 for x in linspace(xmin,xmax,100) : if fonction(x) > valeur : valeur = fonction(x) return valeur Question 2. Quel résultat est retourné par la fonction mystere(f) Question 3. Compléter sur le document réponse la partie de programme permettant de tracer le profil supérieur et inférieur II. Détermination des caractéristiques d’inertie d’une pale : intégration numérique Pour pouvoir mener à bien les simulations, il faut déterminer le centre de masse du profil ainsi que son moment d’inertie par rapport à l’axe de rotation de l’éolienne. O CPGE Brizeux G 2/8 DS 2 - INFO PSI 2014-2015 Par définition le centre d’inertie 𝐺 d’une pale (de longueur 𝐿, de section 𝑆, de volume 𝑉, de masse 𝑚 ⃗⃗⃗⃗⃗ = ∫ 𝑂𝑀 ⃗⃗⃗⃗⃗⃗ . 𝑑𝑚 = ∫ 𝑂𝑀 ⃗⃗⃗⃗⃗⃗ . 𝜌. 𝑑𝑉 et de masse volumique 𝜌) : 𝑚. 𝑂𝐺 𝑀∈𝑆 𝑀∈𝑆 en projection suivant l’axe des 𝑥 : 𝜌. 𝑉. ⃗⃗⃗⃗⃗ 𝑂𝐺 . 𝑥 = (∫ ⃗⃗⃗⃗⃗⃗ 𝑂𝑀. 𝜌. 𝑑𝑉 ) . 𝑥 = 𝜌. (∫ 𝑀∈𝑆 ⃗⃗⃗⃗⃗⃗ 𝑂𝑀. 𝑥 . 𝑑𝑉 ) = 𝜌. (∫ 𝑀∈𝑆 𝑥. 𝑑𝑉 ) 𝑀∈𝑆 𝐿 𝜌. 𝑆. 𝐿. ⃗⃗⃗⃗⃗ 𝑂𝐺 . 𝑥 = 𝜌. 𝑆. ∫0 𝑥. 𝑑𝑥 d’où 𝐿 𝑥𝑂𝐺 = ∫0 𝑥.𝑑𝑥 𝐿 (équation 2) Pour déterminer 𝑥𝑂𝐺 il faut donc calculer l’intégrale de l’équation 2 en utilisant la méthode des rectangles. Figure 1 : Exemple de découpage avec 7 rectangles de la demi-section de la pale Question 4. Compléter sur le document réponse la portion de programme permettant d’obtenir la position du centre de gravité en utilisant la méthode des rectangles pour un découpage de 1000 rectangles. 𝑦 𝑥 ∀M∈ 𝑝𝑎𝑙𝑒 O A Le moment d’inertie 𝐼𝐴𝑧 de la pale par rapport à l’axe verticale de l’éolienne est donné par ⃗⃗⃗⃗⃗⃗ ‖². 𝜌. 𝑑𝑉 dans notre cas : l’équation : 𝐼𝐴𝑧 = ∫ ‖𝐴𝑀 𝑀∈𝑆 150 𝒑𝒓𝒐𝒇𝒊𝒍𝒆_𝑵𝑨𝑪𝑨𝟎𝟎𝟏𝟓(𝒙𝑴 ) 𝐼𝐴𝑧 = 𝜌. 𝐿. ∫ (∫ 0 𝟎 ((𝒙𝑨 − 𝒙𝑴 )𝟐 + (𝒚𝑨 − 𝒚𝑴 )𝟐 ). 𝒅𝒚𝑴 ) 𝑑𝒙𝑴 (équation 3) avec 𝑀 de coordonnées dans le plan (𝒙𝑴 , 𝒚𝑴 ) , 𝐴 de coordonnées dans le plan (𝒙𝑨 , 𝒚𝑨 ) 𝐿 = 1 𝑚 et 𝜌 = 3000 𝑘𝑔/𝑚3 CPGE Brizeux 3/8 DS 2 - INFO PSI 2014-2015 Figure 2: découpage en carrés de 3 mm de côté pour l'intégrale double Découpage en carrés : xmax = (150 // taille_carre)*taille_carre Question 5. Que vaut xmax si taille_carre = 10 puis 5 puis 3. En déduire l’utilité de cette ligne Question 6. Compléter sur le document réponse la portion de programme permettant de déterminer numériquement le moment d’inertie 𝐼𝑜𝑧 de la demi-pale supérieure par rapport à l’axe verticale de l’éolienne(𝐴, 𝑧). Question 7. Que faut-il modifier/ajouter pour obtenir le moment d’inertie de la pâle complète III. Actions aérodynamiques sur le profil : utilisation d’une Base de données ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝐹𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 ANGLE : angle incidence ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝐹 𝑡𝑟𝑎î𝑛é𝑒 A Flux d’air ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝑀 𝑡𝑎𝑛𝑔𝑎𝑔𝑒 Figure 3 : Actions aérodynamique sur le profil Le torseur des actions mécaniques de l’air sur la pale est : 𝐹𝑡𝑟𝑎î𝑛é𝑒 {𝜏𝑎𝑖𝑟→𝑝𝑎𝑙𝑒 } = {𝐹𝑃𝑜𝑟𝑡𝑎𝑛𝑐𝑒 0 𝐴 0 0 𝑀𝑡𝑎𝑛𝑔𝑎𝑔𝑒 } 𝑅𝑝𝑎𝑙𝑒 avec 𝑉2 - 𝐹𝑜𝑟𝑐𝑒 𝑑𝑒 𝑡𝑟𝑎𝑖𝑛é𝑒 = 𝐹𝑡𝑟𝑎î𝑛é𝑒 = 𝜌. 𝑆. - 𝐹𝑜𝑟𝑐𝑒 𝑑𝑒 𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 = 𝐹𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 = 𝜌. 𝑆. - 𝑀𝑜𝑚𝑒𝑛𝑡 𝑑𝑒 𝑡𝑎𝑛𝑔𝑎𝑔𝑒 = 𝑀𝑡𝑎𝑛𝑔𝑎𝑔𝑒 = 𝜌. 𝑆. 𝑉 : vitesse du fluide 𝑐 : longueur de la pale 𝑆 : surface projetée au sol du profil 𝜌 ∶ masse volumique du fluide 𝜇 : viscosité dynamique du fluide Les coefficients 𝐶𝐷, 𝐶𝐿 et 𝐶𝑀 variant en fonction du nombre de Reynolds 𝑅𝑒 = 𝜌.𝑉.𝐿 , 𝜇 2 . 𝐶𝐷 ; 𝑉2 2 . 𝐶𝐿 ; 𝑉2 2 . 𝐶𝑀. 𝑐 de l’angle d’incidence 𝐴𝑁𝐺𝐿𝐸 de la pale. Pour les valeurs des coefficients 𝐶𝐷, 𝐶𝐿 et 𝑀 , on utilise une base de données dont un extrait est donné ci-dessous : CPGE Brizeux 4/8 DS 2 - INFO PSI 2014-2015 Figure 4: Extrait de la TABLE intitulée "NACA" de la base de données Requête sur la base de données : Question 8. Justifier pourquoi le champ "ID" doit être une clé primaire Question 9. Construire la requête SQLite permettant d’extraire de la base de données les valeurs de "CD" et "CL" pour un "ANGLE" de 0° avec le profil "NACA0015" et pour un nombre de Reynolds "RE"=1000000. Question 10. Construire la requête SQLite permettant d’extraire les valeurs maximales de "CD" et "CL" avec notre profil NACA0015 et pour un nombre de Reynolds "RE"=1000000. IV. Equation du mouvement de l’axe de l’éolienne Le mouvement de l’éolienne est décrit par l’équation différentielle du premier ordre suivante : 𝑰𝑶𝒛 . 𝒅𝝎(𝒕) − 𝑪. 𝝎(𝒕) = 𝑴𝟎 𝒅𝒕 avec 𝐼𝑂𝑧 : Inertie de l’éolienne par rapport à son axe de rotation, 𝐶: Coefficient prenant en compte les forces de frottements fluides 𝜔(𝑡) : Vitesse de rotation de l’éolienne 𝑟 ∶ Rayon de l’éolienne 𝑀0 : couple d’entrainement Conditions initiales : 𝜔(0) = 0 (éolienne à l’arrêt) Question 11. Compléter l’algorithme permettant à partir des conditions initiales et de l’équation différentielle ci-dessus d’obtenir numériquement l’évolution de la vitesse de rotation de l’éolienne au cours du temps (entre 0s et 10s) (algorigramme, pseudo-code ou python au choix du candidat). Question 12. En implémentant l’algorithme précédant et en faisant varier le pas de calcul on obtient les courbes ci-dessous. Retrouver pour chaque courbe le pas de calcul. CPGE Brizeux 5/8 DS 2 - INFO PSI 2014-2015 RAPPEL PYTHON : - linspace(start, stop, num=50) : Returns num evenly spaced samples, calculated over the interval [start, stop ]. (num : int, Number of samples to generate. Default is 50.) range(start, stop[, step = 1]) : Return a virtual sequence of numbers from start to stop by step (Default is 1). arange([start, ]stop, [step ]) : Return evenly spaced values within a given interval. Values are generated within the half-open interval [start, stop) RAPPEL SQLITE : - - SELECTIONS ET PROJECTIONS : SELECT column1, column2, columnN FROM table_name WHERE [condition] (séparateur pour les conditions : OR ou AND ) FONCTION D’AGREGATION : COUNT, MAX, MIN SELECT COUNT(column2) FROM table_name WHERE [condition] CPGE Brizeux 6/8 DS 2 - INFO PSI 2014-2015 DOCUMENT REPONSE : NOM : PRENOM : Question 1 : def profile_NACA0015(x): """ def profile_NACA0015(x) -> réel Renvoie l'épaisseur d'un profil NACA 00xx x : position le long de la corde """ c = 150 # corde : longueur du profil en mm t = 0.15 # thickness rapport épaisseur / longueur X = x/c return Question 3 : x = linspace(0, longueur, 300 ) plot(x, profile_NACA0015(x)) # profil supérieur plot(x,-profile_NACA0015(x)) # profil inférieur xlim(0,160) ylim(-20,140) show() Question 4 : def centre_gravite_profil(f,xmin,xmax): """ centre_gravite_profil(f,xmin,xmax)->réel renvoie l’abscisse du centre de gravité du profil f : une fonction décrivant le profil xmin : valeur minimale de l’abscisse du profil xmax : valeur maximale de l’abscisse du profil """ nb_rectangle = 1000 aire_ponderee = 0 largeur_rectangle = (xmax-xmin) / nb_rectangle for x in linspace(xmin,xmax,nb_rectangle) : hauteur_rectangle = f(x) aire_rectangle = hauteur_rectangle*largeur_rectangle aire_ponderee = aire_ponderee + x*aire_rectangle G_x = aire_ponderee / (xmax-xmin) return G_x # on imprime la position du centre de gravité print("Xog = ",centre_gravite_profil(profile_NACA0015,0,150)) CPGE Brizeux 7/8 DS 2 - INFO PSI 2014-2015 Question 5 : def moment_inertie(f,xmin,xmax,x_A,y_A): """ Détermine le moment d'inertie du profil par rapport à l'axe (A,z) f : fonction du profil xmin,xmax : intervalle de variation de l'abscisse du profil supérieur x_A,y_A : position du point A """ taille_carre = 3 masse_v = 3e-6 # masse volumique de l'aluminium en kg/mm3 Ioz = 0 xmax = (150 // taille_carre)*taille_carre # point M du profil for x_M in arange(0,xmax,taille_carre) ): ymax = (profile_NACA0015(x_M) // taille_carre)* taille_carre for y_M in arange(0,ymax,taille_carre) : Ioz = Ioz+masse_v*(taille_carre**2)*((M_x-A_x)**2+( M_y-A_y)**2) return Ioz Question 11 : def resolution_diff( instant_initial, instant_final, nb_valeur ): """ resolution_diff( nb_valeur )->liste de réel résoud numériquement l’équation différentielle du premier ordre par la méthode d’Euler instant_initial : instant initiale en secondes instant_final : instant final en secondes nb_valeur : nombre d’itérations """ C=1 # coefficient forces de frottement fluide r=1 # rayon de l’éolienne en m Ioz = 1 # inertie de l’éolienne en kg/m² M0 = 100 # couple d’entrainement en N.m w0=0 # condition initiale w=[w0] # initialisation de la liste des vitesses angulaires w pas_calcul = 10 / nb_valeur # pas de calcul for i in range(nb_valeur): w = w + [w[i] - interval *( C*r*w[i] / Ioz - M0) ] return w CPGE Brizeux # on renvoie la liste des valeurs de w calculées 8/8