Modélisation 3D sous CATIA V6
-
Mise à jour continue de la maquette 3D
-
Modification de la forme du Basket : trilobé avec bulles de pression de même rayon
-
Etude aérodynamique de l’avion par Centrale
Interaction entre les logiciels
-
A cours terme, l’utilisation d’un tableur Excel peut être envisagé. Il servirait d’espace de stockage des paramètres entre MATLAB et CATIA. L’idéal serait d’avoir un script matlab permettant de faire directement appel aux fonctions de CATIA (normalement accessible dans une librairie de fonction fournie)
-
Mise en place d’un langage objet et d’une architecture permettant de communiquer efficacement sur tous les éléments de l’avion.
-
Interaction entre MATLAB et CATIA V6 : utilisation de SIMULINK et DYMOLA qui s’appuient tous les deux sur le langage objet pour faire des simulations de systèmes physiques
Conclusion
Ce projet nous a permis de réunir tous les paramètres existants et les différentes solutions choisies afin de d’avoir un point d’encrage pour les futurs projets de conceptions. A partir de ces données, nous avons pu réaliser une maquette paramétrée sous CATIA V6 et ainsi fournir un squelette pour les futurs éléments de l’avion. Il est nécessaire de vérifier la viabilité de la géométrie. C’est pour cela que nous avons rajouté une fonction sous MATLAB permettant de définir de façon paramétrée les éléments de la structure du Bee-Plane. A ce jour un tableur Excel peut être une solution mais il faudrait envisager une méthode de communication plus adaptée aux deux logiciels.
Nous rajoutons que ces deux mois de projets ont été enrichissants puisqu’ils nous ont permis de découvrir un projet innovant, concret, nécessitant une approche pluridisciplinaire. Nous avons ainsi pu voir et apprécier les méthodes de travail des autres écoles d’ingénieur. Le projet Bee-Plane étant à son commencement, son avancement est rapide et surtout visible. Il est également intéressant d’être à la base d’un projet car nous pourrons dorénavant suivre son parcours et ses différentes évolutions.
Bibliographie
-
Centrale Paris : Rapport final TMO-08.pdf
-
Centrale Paris : Fichier MATLAB
-
ESTACA : Structure/Estaca 4a Beeplane rapport.pdf (Novembre 2012)
-
ESTACA : Rapport Bee-Plane final
-
Project description for TRL2 revision 2.2
-
Technoplane.com
-
Wiki Technoplane
-
Technique de l’Ingénieur
Annexe 1 : Script MATLAB de la fonction ‘structure_bee_plane.m’
function [ Structure , Moteurs , numero_aile_gauche , numero_aile_droite , numero_moteur_gauche , numero_moteur_droit , numero_fuselage] = structure_bee_plane( phase_decollage , vol_avec_basket )
%Dans cette fonction sont définis les différents éléments qui composent la
%structure de la Bee ainsi que de la Basket
% L'origine est prise comme étant celle du nez de la Bee puisque le
% Bee-Plane doit être capable de voler sans basket
%% Liste de paramètres
d_moteur_fuselage=8.5; %distance du moteur par rapport à l'axe du fuselage suivant Z
d_train_atterrissage_avant=5; %distance du point d'accroche du train atterrissage avant par raport à l'axe du fuselage suivant Z
d_train_atterrissage_arriere=5; %distance du point d'accroche du train atterrissage arrière par raport à l'axe du fuselage suivant Z
masse_train_avant=150; %Masse d'un train avant complet
masse_train_arriere=150; %Masse d'un train arrière complet
hauteur_turbofan=3.5; %Un moteur de la taille 'hauteur_turbofan' représenté par un cylindre un inséré en bout de fuselage. La taille du fuselage,turbofan compris, vaut 'hauteur_fuselage_turbofan'. La taille du fuselage revient donc à la soustraction du dernier moins le premier
hauteur_fuselage_turbofan=21;
decalage_empennage_verti=1.5;
longueur_basket=25;
%% Définition des élements composant la structure du Bee-Plane par incrémentation du paramètre 'ii'
ii=1; %Numero de l'élément de la structure
%% Définition de la partie gauche de la Bee puis de la partie droite comme symétrique
%% Elements de l'Aile Gauche
Structure.Element(ii).Nom='Aile Gauche';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=4000*21/20*5.2/5;
Structure.Element(ii).Incidence=2.3; %en degrés
Structure.Element(ii).Longueur=21;
Structure.Element(ii).Naca='4415';
Structure.Element(ii).GouD='G';
Structure.Element(ii).Raccord_Avion=[4,0,0];% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,Structure.Element(ii).Incidence*pi/180,0];%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=5.2;
Structure.Element(ii).Rapport_Bases=2/5;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=17*pi/180;%en radians
numero_aile_gauche=ii;%Variable muette pour définir les éléments rattachés
ii=ii+1;
Structure.Element(ii).Nom='Moteur Gauche';%Les coordonnées des ailes sont nécessaires pour placer les moteurs
Structure.Element(ii).Type='Moteur';
Structure.Element(ii).Masse=1890;
Structure.Element(ii).Raccord_Avion=[5,0,d_moteur_fuselage];
Structure.Element(ii).Raccord_Avion(1)=Structure.Element(numero_aile_gauche).Raccord_Avion(1)+sin(Structure.Element(numero_aile_gauche).Lambda_0)*Structure.Element(ii).Raccord_Avion(3);
%la ligne précédente permet d'ajuster automatiquement le point d'accroche des moteurs en fonction de l'inclinaison des ailes et de leur point d'accroche le long du fuselage, la valeur '10' renseignée précédemment ne joue donc aucun rôle
Structure.Element(ii).Raccord_Element=[0,0.9,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Hauteur=3.5;
Structure.Element(ii).Rayon=0.9;
Structure.Element(ii).Barycentre=[Structure.Element(ii).Hauteur/2,0,0];
numero_moteur_gauche=ii;%Variable muette pour définir l'élément moteur droit comme symétrique par rapport plan xy
ii=ii+1;
%% Empennage Gauche
Structure.Element(ii).Nom='Jonction Empennage Gauche Horizontal';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=800;
Structure.Element(ii).Incidence=0; %en degrés
Structure.Element(ii).Longueur=6;
Structure.Element(ii).Naca='4415';
Structure.Element(ii).GouD='G';
Structure.Element(ii).C_Root=3 ;
Structure.Element(ii).Rapport_Bases=.5;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=.2;%en radians
Structure.Element(ii).Raccord_Avion=[hauteur_fuselage_turbofan-Structure.Element(ii).C_Root,0.1,0];% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,0,0];%en radians : [azimut, assiette, gite]
numero_empennage_horiz_gauche=ii;%Variable muette pour définir l'élément Jonction Empennage Droit Horizontal comme symétrique par rapport plan xy
ii=ii+1;
Structure.Element(ii).Nom='Jonction Empennage Gauche Vertical';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=400;
Structure.Element(ii).Incidence=0; %en degrés
Structure.Element(ii).Longueur=3;
Structure.Element(ii).Naca='0006';
Structure.Element(ii).GouD='G';
Structure.Element(ii).Raccord_Avion=[Structure.Element(numero_empennage_horiz_gauche).Raccord_Avion(1)+Structure.Element(numero_empennage_horiz_gauche).C_Root/2,Structure.Element(numero_empennage_horiz_gauche).Raccord_Avion(2),decalage_empennage_verti];% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,0,pi/2];%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=1.5 ;
Structure.Element(ii).Rapport_Bases=1;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=0.7;%en radians Compris entre ]-pi/2;pi/2[
numero_empennage_verti_gauche=ii;%Variable muette pour définir l'élément Jonction Empennage Droit Vertical comme symétrique par rapport plan xy
ii=ii+1;
Structure.Element(ii).Nom='Empennage Gauche';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=700*3.5/1.5*5/6;
Structure.Element(ii).Incidence=0; %en degrés
Structure.Element(ii).Longueur=5;
Structure.Element(ii).Naca='4415';
Structure.Element(ii).GouD='G';
Structure.Element(ii).Rotation=[0,0,0];%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=3.5;
Structure.Element(ii).Rapport_Bases=0.7/2.3;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=atan(Structure.Element(ii).C_Root*(1-Structure.Element(ii).Rapport_Bases)/Structure.Element(ii).Longueur);%en radians, est modifié directement dans l'analyse paramétrique pour que le bord de fuite reste droit
if mod(Structure.Element(numero_empennage_verti_gauche).Lambda_0,2*pi)==0
ffr=1;
else
ffr=Structure.Element(numero_empennage_verti_gauche).Longueur/tan(pi/2-Structure.Element(numero_empennage_verti_gauche).Lambda_0);
end
Structure.Element(ii).Raccord_Avion=[Structure.Element(numero_empennage_verti_gauche).Raccord_Avion(1)+ffr-Structure.Element(ii).C_Root/2,Structure.Element(numero_empennage_verti_gauche).Raccord_Avion(2)+Structure.Element(numero_empennage_verti_gauche).Longueur,0];% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
numero_empennage_gauche=ii;%Variable muette pour définir l'élément Empennage droit comme symétrique par rapport plan xy
ii=ii+1;
%% Partie Droite de la Bee comme symétrique de la gauche
%% Elements de l'Aile Droite
% L'aile Droite et ses éléments associés, sont définis comme le symétrique
% des éléments de l'Aile Gauche
%Rentrer les paramètres des ailes dans la partie Aile Gauche
Structure.Element(ii).Nom='Aile Droite';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=Structure.Element(numero_aile_gauche).Masse;
Structure.Element(ii).Incidence=Structure.Element(numero_aile_gauche).Incidence;
Structure.Element(ii).Longueur=Structure.Element(numero_aile_gauche).Longueur;
Structure.Element(ii).Naca=Structure.Element(numero_aile_gauche).Naca;
Structure.Element(ii).GouD='D';
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_aile_gauche).Raccord_Avion; Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3);% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_aile_gauche).Rotation;%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=Structure.Element(numero_aile_gauche).C_Root;
Structure.Element(ii).Rapport_Bases=Structure.Element(numero_aile_gauche).Rapport_Bases;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=Structure.Element(numero_aile_gauche).Lambda_0; %en radians
numero_aile_droite=ii;%Variable muette pour définir les éléments rattachés
ii=ii+1;
%Les coordonnées des ailes sont nécessaires pour placer les moteurs. Le
%moteur droit est donc défini après l'aile droite
Structure.Element(ii).Nom='Moteur Droit';
Structure.Element(ii).Type='Moteur';
Structure.Element(ii).Masse=Structure.Element(numero_moteur_gauche).Masse;
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_moteur_gauche).Raccord_Avion;
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3);
Structure.Element(ii).Raccord_Element=[0,0.9,0];
Structure.Element(ii).Rotation=Structure.Element(numero_moteur_gauche).Rotation;
Structure.Element(ii).Hauteur=Structure.Element(numero_moteur_gauche).Hauteur;
Structure.Element(ii).Rayon=Structure.Element(numero_moteur_gauche).Rayon;
Structure.Element(ii).Barycentre=Structure.Element(numero_moteur_gauche).Barycentre;
numero_moteur_droit=ii;
ii=ii+1;
%% Empennage Droit
Structure.Element(ii).Nom='Empennage Droit';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=Structure.Element(numero_empennage_gauche).Masse;
Structure.Element(ii).Incidence=Structure.Element(numero_empennage_gauche).Incidence; %en degrés
Structure.Element(ii).Longueur=Structure.Element(numero_empennage_gauche).Longueur;
Structure.Element(ii).Naca=Structure.Element(numero_empennage_gauche).Naca;
Structure.Element(ii).GouD='D';
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_empennage_gauche).Raccord_Avion;
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3);% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_empennage_gauche).Rotation;%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=Structure.Element(numero_empennage_gauche).C_Root;
Structure.Element(ii).Rapport_Bases=Structure.Element(numero_empennage_gauche).Rapport_Bases;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=Structure.Element(numero_empennage_gauche).Lambda_0;%en radians, est modifié directement dans l'analyse paramétrique pour que le bord de fuite reste droit
ii=ii+1;
Structure.Element(ii).Nom='Jonction Empennage Droit Horizontal';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=Structure.Element(numero_empennage_horiz_gauche).Masse;
Structure.Element(ii).Incidence=Structure.Element(numero_empennage_horiz_gauche).Incidence; %en degrés
Structure.Element(ii).Longueur=Structure.Element(numero_empennage_horiz_gauche).Longueur;
Structure.Element(ii).Naca=Structure.Element(numero_empennage_horiz_gauche).Naca;
Structure.Element(ii).GouD='D';
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_empennage_horiz_gauche).Raccord_Avion;% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3); %Z=-Z
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_empennage_horiz_gauche).Rotation;%en radians : [azimut, assiette, gite]
Structure.Element(ii).C_Root=Structure.Element(numero_empennage_horiz_gauche).C_Root ;
Structure.Element(ii).Rapport_Bases=Structure.Element(numero_empennage_horiz_gauche).Rapport_Bases;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=Structure.Element(numero_empennage_horiz_gauche).Lambda_0;%en radians
numero_empennage_horiz_droit=ii;
ii=ii+1;
Structure.Element(ii).Nom='Jonction Empennage Droit Vertical';
Structure.Element(ii).Type='Aile';
Structure.Element(ii).Masse=Structure.Element(numero_empennage_verti_gauche).Masse;
Structure.Element(ii).Incidence=Structure.Element(numero_empennage_verti_gauche).Incidence; %en degrés
Structure.Element(ii).Longueur=Structure.Element(numero_empennage_verti_gauche).Longueur;
Structure.Element(ii).Naca=Structure.Element(numero_empennage_verti_gauche).Naca;
Structure.Element(ii).GouD='D';
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_empennage_verti_gauche).Raccord_Avion;
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3);% en général : la côte est positive pour une aile gauche, négative pour une aile droite
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_empennage_verti_gauche).Rotation;%en radians : [azimut, assiette, gite]
Structure.Element(ii).Rotation(3)=-Structure.Element(ii).Rotation(3);
Structure.Element(ii).C_Root=Structure.Element(numero_empennage_verti_gauche).C_Root;
Structure.Element(ii).Rapport_Bases=Structure.Element(numero_empennage_verti_gauche).Rapport_Bases;% rapport de la corde en bout d'aile sur la corde à la base de l'aile
Structure.Element(ii).Lambda_0=Structure.Element(numero_empennage_verti_gauche).Lambda_0;%en radians
ii=ii+1;
%%
if phase_decollage==true
Structure.Element(ii).Nom='Train Atterrissage Avant Gauche';
Structure.Element(ii).Type='Train Atterrissage';
Structure.Element(ii).Masse=masse_train_avant;
Structure.Element(ii).GouD='G';%Train gauche ou droit
Structure.Element(ii).Rayon_Support=0.15;%rayon du cylindre qui lie la roue à l'aile
Structure.Element(ii).Longueur_Support=3;%longueur du cylindre
Structure.Element(ii).Masse_Support=100;
Structure.Element(ii).Masse_Roue=50;
Structure.Element(ii).Rayon_Roue=0.5;%Rayon de la roue
Structure.Element(ii).Epaisseur_Roue=0.2;%Epaisseur de la roue
Structure.Element(ii).Raccord_Avion=[5,0,d_train_atterrissage_avant];
%Ligne suivante à définir avec le groupe 'Train d'atterrissage'
Structure.Element(ii).Raccord_Avion(1)=Structure.Element(numero_aile_gauche).C_Root/2+Structure.Element(numero_aile_gauche).Raccord_Avion(1)+sin(Structure.Element(numero_aile_gauche).Lambda_0)*Structure.Element(ii).Raccord_Avion(3);
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Coeff_Lift=0;
numero_train_avant_gauche=ii;%Variable muette pour définir l'élément Train Aterrissage Avant droit droit comme symétrique par rapport plan xy
ii=ii+1;
Structure.Element(ii).Nom='Train Atterrissage Arriere Gauche';
Structure.Element(ii).Type='Train Atterrissage';
Structure.Element(ii).Masse=masse_train_arriere;
Structure.Element(ii).GouD='G';%Train gauche ou droit
Structure.Element(ii).Rayon_Support=0.15;%rayon du cylindre qui lie la roue à l'aile
Structure.Element(ii).Longueur_Support=3;%longueur du cylindre
Structure.Element(ii).Masse_Support=100;
Structure.Element(ii).Masse_Roue=50;
Structure.Element(ii).Rayon_Roue=0.5;%Rayon de la roue
Structure.Element(ii).Epaisseur_Roue=0.2;%Epaisseur de la roue
Structure.Element(ii).Raccord_Avion=[24.1,0,d_train_atterrissage_arriere];
Structure.Element(ii).Raccord_Avion(1)=Structure.Element(numero_empennage_horiz_gauche).C_Root/2+Structure.Element(numero_empennage_horiz_gauche).Raccord_Avion(1)+sin(Structure.Element(numero_empennage_horiz_gauche).Lambda_0)*Structure.Element(ii).Raccord_Avion(3);
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Coeff_Lift=0;
numero_train_arriere_gauche=ii;%Variable muette pour définir l'élément Train Atterrissage Arriere Droit comme symétrique par rapport plan xy
ii=ii+1;
Structure.Element(ii).Nom='Train Atterrissage Avant Droit';
Structure.Element(ii).Type='Train Atterrissage';
Structure.Element(ii).Masse=Structure.Element(numero_train_avant_gauche).Masse;
Structure.Element(ii).GouD='D';%Train gauche ou droit
Structure.Element(ii).Rayon_Support=Structure.Element(numero_train_avant_gauche).Rayon_Support;%rayon du cylindre qui lie la roue à l'aile
Structure.Element(ii).Longueur_Support=Structure.Element(numero_train_avant_gauche).Longueur_Support;%longueur du cylindre
Structure.Element(ii).Masse_Support=Structure.Element(numero_train_avant_gauche).Masse_Support;
Structure.Element(ii).Masse_Roue=Structure.Element(numero_train_avant_gauche).Masse_Roue;
Structure.Element(ii).Rayon_Roue=Structure.Element(numero_train_avant_gauche).Rayon_Roue;%Rayon de la roue
Structure.Element(ii).Epaisseur_Roue=Structure.Element(numero_train_avant_gauche).Epaisseur_Roue;%Epaisseur de la roue
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_train_avant_gauche).Raccord_Avion;
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3); %La coordonée Z_droit = - Z_gauche
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_train_avant_gauche).Rotation;
Structure.Element(ii).Coeff_Lift=Structure.Element(numero_train_avant_gauche).Coeff_Lift;
numero_train_avant_droit=ii;
ii=ii+1;
Structure.Element(ii).Nom='Train Atterrissage Arriere Droit';
Structure.Element(ii).Type='Train Atterrissage';
Structure.Element(ii).Masse=Structure.Element(numero_train_arriere_gauche).Masse;
Structure.Element(ii).GouD='D';%Train gauche ou droit
Structure.Element(ii).Rayon_Support=Structure.Element(numero_train_arriere_gauche).Rayon_Support;%rayon du cylindre qui lie la roue à l'aile
Structure.Element(ii).Longueur_Support=Structure.Element(numero_train_arriere_gauche).Longueur_Support;%longueur du cylindre
Structure.Element(ii).Masse_Support=Structure.Element(numero_train_arriere_gauche).Masse_Support;
Structure.Element(ii).Masse_Roue=Structure.Element(numero_train_arriere_gauche).Masse_Roue;
Structure.Element(ii).Rayon_Roue=Structure.Element(numero_train_arriere_gauche).Rayon_Roue;%Rayon de la roue
Structure.Element(ii).Epaisseur_Roue=Structure.Element(numero_train_arriere_gauche).Epaisseur_Roue;%Epaisseur de la roue
Structure.Element(ii).Raccord_Avion=Structure.Element(numero_train_arriere_gauche).Raccord_Avion;
Structure.Element(ii).Raccord_Avion(3)=-Structure.Element(ii).Raccord_Avion(3);
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=Structure.Element(numero_train_arriere_gauche).Rotation;
Structure.Element(ii).Coeff_Lift=Structure.Element(numero_train_arriere_gauche).Coeff_Lift;
ii=ii+1;
else
% Ajout de la masse des trains d'atterrissage dans les ailes lors de la
% phase de vol
Structure.Element(numero_aile_gauche).Masse=Structure.Element(numero_aile_gauche).Masse+masse_train_avant;%Aile Gauche
Structure.Element(numero_aile_droite).Masse=Structure.Element(numero_aile_droite).Masse+masse_train_avant;%Aile Droite
Structure.Element(numero_empennage_horiz_gauche).Masse=Structure.Element(numero_empennage_horiz_gauche).Masse+masse_train_arriere;%Jonction Empennage Gauche Horizontal
Structure.Element(numero_empennage_horiz_droit).Masse=Structure.Element(numero_empennage_horiz_droit).Masse+masse_train_arriere;%Jonction Empennage Droit Horizontal
end
%% Assemblage Fuselage + Turbofan
Structure.Element(ii).Nom='Fuselage Bee';
Structure.Element(ii).Type='Fuselage';
Structure.Element(ii).Masse=10000;
Structure.Element(ii).Raccord_Avion=[0,0,0];
Structure.Element(ii).Raccord_Element=[0,-1,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Hauteur_Cylindre_Principal=hauteur_fuselage_turbofan-hauteur_turbofan;
Structure.Element(ii).Forme_Base_Cylindre='Elliptique';
Structure.Element(ii).Longueur_Caracteristique_Base_1=1;
Structure.Element(ii).Longueur_Caracteristique_Base_2=.9;
Structure.Element(ii).Barycentre=[Structure.Element(ii).Hauteur_Cylindre_Principal/2,0,0];
numero_fuselage=ii;
ii=ii+1;
Structure.Element(ii).Nom='Turbofan';
Structure.Element(ii).Type='Moteur';
Structure.Element(ii).Masse=1000; %Valeur prise pur le moment arbitrairement
Structure.Element(ii).Raccord_Avion=[Structure.Element(numero_fuselage).Hauteur_Cylindre_Principal,0,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Hauteur=2.6;
Structure.Element(ii).Rayon=0.87;
Structure.Element(ii).Raccord_Element=[0,-Structure.Element(ii).Rayon,0];
Structure.Element(ii).Barycentre=[Structure.Element(ii).Hauteur/2,0,0];
ii=ii+1;
%% Structure
%Déterminer la corde moyenne des ailes
% Utile pour calculer barycentre Bee
Structure=corde_moyenne(Structure);
%% Barycentre des masses
%Appel à la fonction bar_train(Structure) pour déterminer le barycentre
%du train d'atterrissage en prenant pour repère le bord supérieur du train
%d'atterrissage.
Structure=bar_train(Structure);
% Appel à la fonction bary_ailes(Structure) pour déterminer le barycentre
% des ailes en prennant pour origine du repère le bord supérieur gauche de
% l'aile.
Structure=bary_ailes(Structure);
% Ensuite il faut déterminer les coordonnées de ce barycentre dans le
% repère associé à l'avion. Pour cela, on a besoin de savoir où se raccorde
% l'élément à la structure et de connaître les différents angles de
% rotation.
Structure=coord_bary_repere_avion(Structure);
% Maintenant que l'on dispose de tous les barycentres des éléments, on peut
% déterminer le barycentre total de l'avion dans le repère de l'avion. On
% fait donc appel à la fonction barycentre_global(Structure).
Structure=barycentre_global(Structure);
%% Définition de la Basket en fonction du barycentre précédent
if vol_avec_basket==true
Structure.Element(ii).Nom='Basket';
Structure.Element(ii).Type='Fuselage';
Structure.Element(ii).Masse=45000;
Structure.Element(ii).Raccord_Element=[0,0,0];
Structure.Element(ii).Rotation=[0,0,0];
Structure.Element(ii).Hauteur_Cylindre_Principal=longueur_basket;
Structure.Element(ii).Forme_Base_Cylindre='Elliptique';
Structure.Element(ii).Longueur_Caracteristique_Base_1=3.5;
Structure.Element(ii).Longueur_Caracteristique_Base_2=1.5;
Structure.Element(ii).Barycentre=[Structure.Element(ii).Hauteur_Cylindre_Principal/2,0,0];
Structure.Element(ii).Raccord_Avion=[Structure.Barycentre(1)-Structure.Element(ii).Barycentre(1),-Structure.Element(ii).Longueur_Caracteristique_Base_2,0];
ii=ii+1;
end
% Moteurs
Moteurs.Element(1).nom='Moteur Droit';
Moteurs.Element(1).Type='TP400';
Moteurs.Element(1).Puissance=8*10.^6;% en W
Moteurs.Element(2).nom='Moteur Gauche';
Moteurs.Element(2).Type='TP400';
Moteurs.Element(2).Puissance=8*10.^6;% en W;
if phase_decollage==true
Moteurs.Element(3).nom='Turbofan';
Moteurs.Element(3).Type='TP400';
Moteurs.Element(3).Puissance=8*10.^6;% en W
end
end
Annexe 2 : Schéma de calcul de la fonction ‘structure_bee_plane.m’
Paramètres du Bee-Plane
Définition de la Bee
Barycentre de la Bee
Définition de la Basket
Définition des moteurs
Sorties :
-
Structure
-
Moteurs
-
Numéro des éléments
Entrées:
-
Avec / sans Basket
-
Phase de décollage / atterrissage ou non
-
Dostları ilə paylaş: |