devoir surveillé informatique mp,pc,psi - ephyz.fr · document 1 : photographie d'une...

14
1 Devoir Surveillé informatique MP,PC,PSI L’utilisation des calculatrices n’est pas autorisée pour cette épreuve. Le langage de programmation choisi est Python. Éolienne verticale « ROPATEC » Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de l'éolienne Habituellement, les éoliennes sont sur des mâts et demandent un terrain dégagé. 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 Ropatec 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 Ropatec 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 essayer de l’aider.

Upload: vohanh

Post on 11-Sep-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

1

Devoir Surveillé informatique

MP,PC,PSI

L’utilisation des calculatrices n’est pas autorisée pour cette épreuve.

Le langage de programmation choisi est Python.

Éolienne verticale « ROPATEC »

Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical

Document 2 : Extrait de la plaquette commerciale de l'éolienne

Habituellement, les éoliennes sont sur des mâts et demandent un terrain dégagé. 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 Ropatec 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 Ropatec 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 essayer de l’aider.

Page 2: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

2

I. Profil des pales : définition d’une fonction, tracé de courbes

Les profils NACA sont des profils aérodynamiques pour les ailes d’avion développés par le Comité

consultatif national pour l’aéronautique (NACA). Il s’agit de la série de profils la plus connue et utilisée

dans la construction aéronautique.

La forme des profils NACA est décrite à l’aide d’une série de chiffres qui suit le mot « NACA ».

Le profil des pales utilisé pour l’éolienne Ropatec est le profil symétrique NACA 0015.

L’équation du profil supérieur est donnée (le profil inférieur est symétrique par rapport à l’axe

horizontal) :

432

1015,02843,03516,01260,02969,02,0

)(c

x

c

x

c

x

c

x

c

xctxy (équation 1)

- c est la longueur de la corde de profil ;

- x est la position le long de la corde variant de 0 à c ;

- y est la moitié de l’épaisseur pour une valeur donnée de x ;

- t est l’épaisseur maximale en tant que fraction de la corde.

Question 1 :

Reporter sur la figure du profil NACA 0015 donné ci-dessus les tracé nécessaire à l’obtention des

grandeurs c et t et donner ci-dessous leur valeur numérique (en unité arbitraire).

Page 3: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

3

On veut utiliser Python pour tracer le profil de l’aile.

Afin de (re)prendre en main les fonctions de tracé, on trace d’abord la courbe représentative de la

fonction sinus, à partir d’instructions disponibles sur de nombreux sites…

On met dans l’éditeur les

instructions ci-dessous :

var1=2

var2=sin(var1)

print('var2=',var2)

On obtient dans la console le message d’erreur suivant :

Traceback (most recent call last):

File "<tmp 1>", line 2, in <module>

var2=sin(var1)

NameError: name 'sin' is not defined

On met ensuite dans l’éditeur les

instructions ci-dessous :

from numpy import *

var1=2

var2=sin(var1)

print('var2=',var2)

On obtient dans la console le message d’erreur suivant :

var2= 0.909297426826

Question 2 :

Expliquer pourquoi la première série d’instructions renvoie un message d’erreur alors que la

deuxième série d’instructions renvoie une valeur.

On complète le programme avec les instructions suivantes :

1. from numpy import *

2.

3. x=linspace(-2,6.5,20)

4. print('contenu de x :',x)

5. print('type de x',type(x))

6.

7. import matplotlib.pyplot as plt

8. plt.plot(x,sin(x)) # on utilise la fonction sinus de numpy

9. plt.ylabel('fonction sinus')

10. plt.xlabel("l'axe des abscisses")

11. plt.show()

On peut demander l’affichage de l’aide concernant la fonction linspace en exécutant la

commande : help (linspace)

Voici un extrait de l’aide retournée par Python :

Help on function linspace in module numpy.core.function_base:

linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

Return evenly spaced numbers over a specified interval.

Returns `num` evenly spaced samples, calculated over the

interval [`start`, `stop` ].

The endpoint of the interval can optionally be excluded.

Page 4: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

4

Courbe tracée par Python

Question 3 :

Expliquer ce que fait la commande linspace(-2, 6.5, 20) de la ligne 3. Quel est le type de la

variable x ?

Question 4 :

Quel changement aura lieu dans l’exécution du programme si la ligne 11 est supprimée ?

Question 5 :

Définir une fonction profile_NACA0015(x) qui renvoie l’équation du profil supérieur de la pale

de l’éolienne.

Page 5: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

5

On souhaite déterminer la valeur maximale du profil y(x) grâce à la méthode de Newton.

Question 6 :

Rappeler le principe de la méthode de Newton. (On pourra s’aider d’un graphique illustratif).

Question 7 :

Écrire une fonction newton1(f, fprim, x0, e) qui prend pour argument une fonction f dont on

cherche un zéro, la fonction dérivée de la fonction f notée fprim, l’abscisse initiale x0 de la suite des

xn, ainsi que la précision e souhaitée (l’algorithme s’arrête lorsque f(xn) ≤ e) et qui renvoie xnf la valeur du

zéro trouvé par la méthode de Newton, la valeur de f(xnf) correspondante ainsi que le nombre d’itération

n effectuées.

Question 8 :

Que se passe-t-il si la fonction f(x) ne s’annule jamais ?

Page 6: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

6

Question 9 :

Proposer alors une fonction alternative newton2(f, fprim, e, n_max) qui s’arrête

automatiquement après n_max itérations si aucun zéro n’a été trouvé.

Question 10 :

Donner les expressions de y' (x) et y'' (x).

Question 11 :

Préciser les expressions de f(x) et fprim (x) qu’il faut appeler pour trouver la valeur maximale du

profil y(x).

Question 12 :

Écrire la ligne de commande utilisant la fonction newton1 permettant d’obtenir la valeur maximale

du profil y(x). Bien préciser toutes les variables.

Page 7: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

7

On s’intéresse maintenant à la fonction suivante :

1. def mystere(fonction,xmin,xmax) :

2. valeur = 0

3. for x in linspace(xmin,xmax,100) :

4. if fonction(x) > valeur :

5. valeur = fonction(x)

6. return valeur

Question 13 :

Rédiger la documentation de la fonction mystere(fonction, xmin,xmax) afin d’expliquer son

fonctionnement puis réaliser un appel de cette fonction permettant de répondre à l’objectif initial :

« déterminer la valeur maximale du profil y(x) ».

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 gravité du profil, sa

masse ainsi que son moment d’inertie par rapport à l’axe de rotation de l’éolienne.

On note S la surface de la demi-pale et L son épaisseur.

On repère le centre de gravité d’une pale par (xG,yG). Pour le profil NACA0015, on admet que :

S

dxxyxxOG

)(

150

0 (équation 2).

Question 14 :

Quelle intégrale permettrait de déterminer la surface S de la demi-pale ?

Page 8: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

8

Pour déterminer xG on peut calculer numériquement l’intégrale de l’équation 2 en utilisant la

méthode des rectangles.

Exemple de découpage avec 7 rectangles de la demi-section de la pale

Question 15 :

Proposer une fonction centre_gravite_profil(f,xmin,xmax,n), où f est l’équation du profil, xmin

et xmax les valeurs extrémales des abscisses du profil, et n le nombre de rectangles utilisés pour le calcul.

Cette fonction renvoie la valeur du centre de gravité de la demi-pale.

Question 16 :

Comment va-t-on obtenir xG et yG pour le profil complet NACA 0015 ?

Page 9: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

9

Le moment d’inertie Ioz de la pale par rapport à l’axe ),( zO

est donné par l’équation :

dVOMIPaleM

Oz

2

dans notre cas :

MMMM

xMNACAprofile

Oz dxdyyxLI

22)(0015_

0

150

0 (équation 3) ,

avec M de coordonnées dans le plan (xM, yM), L = 1 m et = 3 000 kg·m-3.

Découpage en carrés de 3 mm de côté pour l’intégrale double

La portion de programme ci-dessous définit une fonction moment_inertie (f,xmin, xmax) permettant de

déterminer numériquement le moment d’inertie IOz de la demi-pale supérieure par rapport à l’axe vertical

(O, z

).

1. def moment_inertie(f,xmin,xmax):

2. """

3. Détermine le moment d’inertie du profil par rapport à l’axe (Oz)

4. f : fonction du profil

5. xmin,xmax : intervalle de variation de l’abscisse du profil supérieur

6. """

7. taille_carre = 3

8. masse_v = 3e-6 # masse volumique de l’aluminium en kg/mm3

9. Ioz = 0

10. xmax = (150 // taille_carre)*taille_carre

11. # point M du profil

12. for x_M in arange(0,xmax,taille_carre) ) :

13. ymax = (profile_NACA0015(x_M) // taille_carre)* taille_carre

14. for y_M in arange(0,ymax,taille_carre) :

15. Ioz =........................................................................

16. return Ioz

Question 17 :

Compléter la ligne 15 de la fonction moment_inertie (f,xmin, xmax).

Question 18 :

Préciser, en justifiant brièvement, la complexité temporelle de cet algorithme.

Question 19 :

Que faut-il modifier/ajouter pour obtenir le moment d’inertie de la pale complète ?

Page 10: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

10

III. Actions aérodynamiques sur le profil : utilisation d’une base de

données

Actions aérodynamiques sur le profil

Les valeurs des différentes actions mécaniques qui s’exercent sur la pale sont :

- Force de traînée = CDV

SF 2

2

traînée

- Force de portance = CLV

SF 2

2

portance

- Moment de tangage = cCMV

SM 2

2

tangage

avec :

- V : vitesse du fluide,

- c = longueur de la pale,

- S = surface projetée au sol du profil,

- : masse volumique du fluide.

Les coefficients CD, CL et CM dépendent de l’angle d’incidence (ANGLE) du flux d’air par

rapport à la pale et d’un coefficient (RE) nommé nombre de Reynolds, qui caractérise l’écoulement du

fluide autour de la pale. Pour les valeurs des coefficients CD, CL et CM, on utilise une base de données dont un extrait est

donné ci-dessous.

ID NAME RE ANGLE CD CL CM

2075 NACA0015 300000 274 1.923902 -0.1345324 0.4757067

2435 NACA0015 400000 274 1.923902 -0.1345324 0.4757067

2795 NACA0015 500000 274 1.923902 -0.1345324 0.4757067

3155 NACA0015 600000 274 1.923902 -0.1345324 0.4757067

… … … … … … …

Extrait de la TABLE intitulée « NACA » de la base de données

Question 20 :

Justifier pourquoi le champ ID doit être une clé primaire.

Question 21 :

Construire la requête SQL 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=1 000 000.

Page 11: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

11

Question 22 :

Construire la requête SQL permettant d’extraire les valeurs maximales de CD et CL avec notre profil

« NACA0015 » et pour un nombre de Reynolds RE = 1 000 000.

La table Eoliennes répertorie différents types d’éoliennes par leur numéro (Num : INTEGER) avec

la hauteur du moyeu (Haut : FLOAT) en mètre, la surface utile (Surf : FLOAT) en m2, la vitesse

minimale du vent pour démarrer (Vmin : FLOAT), la vitesse maximale de fonctionnement (Vmax :

FLOAT) et la vitesse nominale (Vnom : FLOAT) en m.s-1. Il y a également un coefficient de performance

(Cp : FLOAT) sans unité.

Eoliennes

Num Haut Surf Cp Vmin Vnom Vmax

1 70.0 1552.21 0.4 5.0 12.0 27.0

3 24.0 9.08 0.3 4.0 12.0 25.0

… … … … … … …

La table Terrains donne simplement une description (Description : STRING) de chaque type de

terrain (Type : INTEGER). La table Vents répertorie la vitesse moyenne du vent (Vmoy : FLOAT) en

m.s-1 en fonction du type de terrain (Type : INTEGER) et de la hauteur (Haut : FLOAT) en mètre.

Terrains Vents

Type Description Type Haut Vmoy

4 Herbe coupée 2 51.0 9.41

7 Haies 7 80.0 9.54

… … … … …

Question 23 :

Construire une requête SQL permettant de sélectionner le numéro des éoliennes pouvant

fonctionner dans le terrain de type « Herbe coupée ».

Question 24 :

Parmi les éoliennes sélectionnées précédemment, afficher celle qui a le meilleur coefficient de

performance.

Page 12: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

12

IV. Équation 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 :

AAz MtrCdt

tdI )(

)(

avec IAz : inertie de l’éolienne par rapport à son axe de rotation ),( zA

,

C : coefficient prenant en compte les forces de frottements fluides,

(t) : vitesse de rotation de l’éolienne,

r : rayon de l’éolienne,

MA : couple d’entrainement

Conditions initiales : (0) = 0 (éolienne à l’arrêt).

Question 25 :

Compléter le script python 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 0 s et 10 s).

def resolution_diff( instant_initial, instant_final, nb_valeur ):

"""

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

"""

G = 1 # coefficient forces de frottement fluide

r = 1 # rayon de l’éolienne en m

Ioz = 1 # inertie de l’éolienne en kg/m²

MO = 100 # couple d’entrainement en N.m

w0=0 # condition initiale

w=[w0] # initialisation de la liste des vitesses angulaires w

pas_calcul = …....................................# pas de calcul

for i in .....................................................

w = …......................................................

Page 13: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

13

V. Pompage par éolienne

Afin d’éviter l’installation de câbles électriques, certains sites tirent directement partie de l’énergie

éolienne pour effectuer quelques travaux mécaniques dont l’irrigation.

L’hélice de l’éolienne tourne à la vitesse angulaire (t) autour de l’axe fixe vertical et entraîne

(grâce à un mécanisme non étudié aujourd’hui) un piston effectuant un mouvement alternatif dans l’eau

de la nappe souterraine. On note dt

tdt

)()(

.

Une étude mécanique et hydraulique permet d’exprimer l’équation différentielle vérifiée par (t)

lors de la phase de descente du piston : ))(sin()(

2

2

tGFdt

tdJ

.

En posant le vecteur Y tel que

dt

td

t

t )(

)(

)(

Y , l’équation différentielle à résoudre peut se mettre

sous la forme ))(,()(

ttdt

tdYF

Y avec

)(sin

)(

))(,(

tJ

G

J

Fdt

td

tt

YF .

La réponse (t) recherchée sur l’intervalle [0, Tmax] sera obtenue par la méthode d’Euler explicite.

Le pas de temps, noté pas, sera choisi constant. L’intervalle de temps discrétisé est alors représenté

par le tableau T = [t0 = 0, t1, …, tN−1 = Tmax].

Pour chaque pas de temps, une valeur approchée Yi de la solution Y(ti) de l’équation différentielle

est recherchée. L’ensemble des Yi représente N vecteurs de dimensions 2, qui seront stockées en mémoire

sous la forme du tableau :

)(')(

)(')(

)0(')0(

11

MaxMax TT

tt

SY .

Question 26 :

Écrire une fonction tableau(Tmax, N) permettant de calculer le tableau T.

Question 27 :

Écrire une fonction f1(ti,yi), qui prend en arguments la valeur du temps discrétisé i et la valeur du

vecteur Yi = Y(ti) et qui retourne la valeur de F(t , Y(t)).

Question 28 :

Donner la relation de récurrence qui lie Yi+1 à Yi et à F(ti , Yi) en fonction du pas de temps pas.

Page 14: Devoir Surveillé informatique MP,PC,PSI - ephyz.fr · Document 1 : Photographie d'une éolienne « ROTAPEC » à axe vertical Document 2 : Extrait de la plaquette commerciale de

14

Question 29 :

Écrire une fonction EulerExplicite(Yini,h,Tmax,F) qui prend en arguments Yini, un tableau de

dimension 2 contenant la condition initiale de Y(t), h le pas de temps, Tmax l’instant final du calcul, et F

la fonction du problème de Cauchy.

Cette fonction renverra le tableau SY. L’appel à cette fonction dans le programme se fera avec la

commande SY = EulerExplicite(Y0,pas,tmax,f1).

Question 30 :

Si le pas de temps est divisé par un facteur 10, comment évolue l’erreur de calcul ?

Question 31 :

Donner la complexité de cette méthode pour Tmax fixé et indiquer comment évolue le temps de

calcul quand le pas de temps est divisé par un facteur 10.

On suppose que la quantité de mémoire nécessaire pour réaliser le calcul se limite au stockage de

la matrice SY et du vecteur T. Ces éléments sont représentés en mémoire sous forme de tableaux de

flottants en simple précision.

Question 32 :

Déterminer le nombre d’octets nécessaire en mémoire pour réaliser cette simulation numérique

avec un nombre de pas de temps N = 10 000.