Sujet Projet Informatique: Circuit électrique 3D



Documents pareils
Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

1 Description générale de VISFIELD

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Introduction à MATLAB R

ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans

Aide - mémoire gnuplot 4.0

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Le transistor bipolaire

Resolution limit in community detection

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Les algorithmes de base du graphisme

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

GUIDE DE PRISE EN MAIN ISIS PROTEUS V7

Création du projet : 1 sur 13

Partie publique / Partie privée. Site statique site dynamique. Base de données.

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

données en connaissance et en actions?

Cours 1 : Qu est-ce que la programmation?

Exemple d application en CFD : Coefficient de traînée d un cylindre

Présentation du logiciel

Big Data et Graphes : Quelques pistes de recherche

Sous réserve de modifications techniques et des disponibilités, fabrication française.

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Donner les limites de validité de la relation obtenue.

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Fonctions de deux variables. Mai 2011

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Les Mesures Électriques

Sillage Météo. Notion de sillage

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Big Data et Graphes : Quelques pistes de recherche

Tutoriel première utilisation ICEM-CFD. Couche limite et modification du maillage en 2D

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Projet de synthèse de l'électronique analogique : réalisation d'une balance à jauges de contrainte

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Chapitre 5 : Flot maximal dans un graphe

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

Transmission d informations sur le réseau électrique

TP 7 : oscillateur de torsion

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

SUGARCRM MODULE RAPPORTS

Manuel d'utilisation de la maquette

CH IV) Courant alternatif Oscilloscope.

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

M HAMED EL GADDAB & MONGI SLIM

Plus courts chemins, programmation dynamique

Problèmes sur le chapitre 5

Chapitre 4 : Le transistor Bipolaire

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Probabilités Loi binomiale Exercices corrigés

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Réception des réponses et suivi de vos déclarations.

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

NETSUPPORT SCHOOL 7 MAÎTRISEZ VOTRE ESPACE DE TRAVAIL ET CELUI DE VOTRE CLASSE INFORMATIQUE

TD 1 - Structures de Traits et Unification

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Cours d initiation à la programmation en C++ Johann Cuenin

Encadré par : Michel SIMATIC

Champ électromagnétique?

modélisation solide et dessin technique

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

3.2. Matlab/Simulink Généralités

L informatique en BCPST

Modélisation et Simulation

INTRODUCTION AU CMS MODX

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Travaux pratiques avec RapidMiner

Calcul intégral élémentaire en plusieurs variables

Notice ARES Version 5.20 Française

Manuel Utilisateur RF Monitor Tracker

Formats d images. 1 Introduction

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Centrale d alarme DA996

LOGICIEL DC4D MONITOR

Les structures de données. Rajae El Ouazzani

Superviseur de processus ECS

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE

Exercice : la frontière des portefeuilles optimaux sans actif certain

Electricité : caractéristiques et point de fonctionnement d un circuit

Bases de programmation. Cours 5. Structurer les données

Générer du code à partir d une description de haut niveau

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Transcription:

Sujet Projet Informatique: Circuit électrique 3D 2011 FIGURE 1 Principe du projet. Gauche : Schéma à modéliser. Milieu : Description formelle analysable. Droite: Visualisation 3D correspondante au schéma électrique. 1 But L objectifdece TPestderéaliserunanalyseuretun visualiseur3dde circuitélectrique.le sujetse décomposeendeuxparties: 1. Analyse et etude(calcul des tensions et courants) d un schéma électrique. 2. Visualisation 3D du circuit électrique. L étude et la résolution numérique des valeurs de tensions et courants sur un schéma numérique sont la base des logiciels de modélisation électroniques(pspice,...). La représentation visuelle aide à la compréhension du circuit, ainsi qu à postériori pour des simulations plus précise nécessitant l information géométrique(diffusion de la chaleur,...). 1

2 Fonctionnement du projet Un schéma électrique est donné en tant qu entrée du projet. On pourra supposer que celuici ne contient que des éléments simples : générateurs, résistances. 2.1 Analyse du schéma électrique Un schéma électrique peut se voir comme un graphe cyclique orienté dont les noeuds contiennent les caractéristiques des composants. La description textuelle de sauvegarde des schémas sera réalisée en format xml. Dans la suite, on considère l exemple du schéma montré en fig. 1. On pourra utiliser le langage dedescription 1 suivantencorrespondance avecl indexationproposée enfig.2. <xml> <edge id="edge0" in="0" out="1"> <edge id="edge1" in="1" out="2"> <edge id="edge2" in="2" out="3"> <edge id="edge3" in="1" out="3"> <edge id="edge3" in="3" out="4"> <edge id="edge4" in="4" out="0"> <G value="1.5v"/> </xml> Lasignificationdesmots clés estlasuivante : edge : désigne le démarrage de la description d une structure reliant deux noeuds du schéma. Chaque arête possède un noeud d entrée et un noeud de sortie. id: identifiant unique d une arête du schéma. in : identifiant unique du noeud d entré de l arête courante. out : identifiant unique du noeud de sortie de l arête courante. R: Noeud contenant une résistance. G: Noeud contenant un générateur de tension. Ce graphe peut se représenter sous forme matricielle M (matrice d incidence 2 ) vu comme l application de la loi des noeuds. Pour chaque sommet, on désigne l indice de l arête incidente et sortante pondéré par la valeur signée de la résistance lui correspondant. 1. Un graphe est classiquement défini localement par ses arêtes, ou connectivités 2. duale de cette description par arête 2

FIGURE 2 Modélisation du schéma électrique. Les noeuds du graphe de description correspondent à des positions du schéma (points rouges), alors que les arêtes correspondent à un composant du montage. Soit U le vecteur des tensions inconnues aux arêtes. On notera donc V = (v 0,v 1,v 2,v 3,v 4 ) dans ce cas particulier. Notons U = (0,0,0,0,E), avec E la tension du générateur situé sur l arête 5. L application de la loie des noeuds (matrice d incidence pondérée) et de la loi des mailles(recherche de cycle dans un graphe) permet d écrire le système M = MV = U, 1/R 1/R 0 1/R 0 0 1/R 1/R 0 0 0 0 1/R 1/R 1/R 0 1 1 1 0 1 1 1 0 1 Une fois le système matriciel rempli automatiquement, l utilisation d un algorithme de résolution de système linéaire numérique permet d obtenir en chaque arête la valeur de la tension associée, et donc du courant. (1) 3

2.2 Visualisation du schéma La visualisation du schéma en 3D se réalise à l aide de la librairie graphique OpenGL. La manipulation à la souris de la visualisation pourra se faire avec l aide de la librairie glut, ou directement sout Qt. Un programme minimaliste de manipulation de scène 3D vous est donné entant quepoint dedépart. Dans la boucle d affichage principale réactualisée à vitesse interactive, l appel explicite à l affichage d un triangle se réalise suivant la syntaxe : double x1,y1,..., z3; <- valeurs des coordonnées du triangle glbegin(gl_triangles);//debut affichage triangle De manière similaire, on peut afficher un quadrangle directement: glbegin(gl_quads);//debut affichage triangle glvertex3d(x4,y4,z4); //sommet 4 Le cas d un triangle dont la normale est constante sur la portion de plan est obtenu par l appel : glbegin(gl_triangles);//debut affichage triangle glnormal3d(nx,ny,nz); //normale du triangle Lorsque plusieurs triangles sont affichés cotes à cotes (maillage), on cherche à donner l apparence d une surface globalement lisse. Les normales ne sont alors plus considérée comme constante sur un patch linéaire élémentaire (triangle ou quad), mais comme une donnée variable associée à chaque sommet. Les sommets sont alors vus comme l échantillonnage d une fonction lisse dont l information de normale est connue en ces points particuliers. Un triangle dont les sommets sont associés à des normales différentes possède la syntaxe suivante : glbegin(gl_triangles);//debut affichage triangle glnormal3d(nx1,ny1,nz1); //normale du triangle 1 glnormal3d(nx2,ny2,nz2); //normale du triangle 2 glnormal3d(nx3,ny3,nz3); //normale du triangle 3 4

Finalement, l affichage d un ensemble de triangles dont les normales sont définies par sommet suivra la syntaxe suivante: glbegin(gl_triangles); for(int k_triangle=0;k_triangle<n_triangle;++k_triangle) //appels à glnormal3d et glvertex3d // des triangles correspondants //... } Une résistance pourra ainsi être modélisée par un cylindre formé de triangles ou de quadrangles. On pourra ainsi former une librairie d éléments de bases pouvant être appelés lorsque nécessaire. FIGURE 3 Visualisation possible du schéma électrique. Gauche : Représentation du maillage triangulé sous OpenGL. Droite: rendu final texturé du montage. 3 Travail demandé Vous réaliserez l analyse ainsi que la visualisation automatique d un circuit simple formé de générateur de tension et de résistances. Dans un premier temps, on pourra s intéresser au cas particulier du schéma fourni en exemple. Vous implémenterez la lecture d un fichier de sauvegarde de circuit au format xml. Le parsing pourra se réaliser à l aide de librairies dédiées: tinyxml ou libxml. À partir de la lecture de ce type de fichier, vous implémenterez la génération automatique de la matrice modélisant la loi des noeuds de votre schéma. La résolution numérique de cette matrice pourrasefaireàl aidedebibliothèquesdédiées:eigen,newmat,... Enfin, vous réaliserez l affichage 3D de votre circuit à l aide de modèles simples. Dans un premier temps, vous mettrez en place des modèles géométriques simples (cylindres, plan,...) puis tenterez d itérer sur des modèles de visualisation plus détaillés. Les modèles géométriques pourront être pré-stockés une fois pour toutes, et finalement modélisés à l aide de logiciels spécifiques au besoin(blender,...). Le coeur de votre projet consiste à lire, analyser et visualiser un chemin simple tel qu illustré dans ce document. Il est indispensable de réussir ces trois étapes dans ce cas particulier. Il est inutile de généraliser ou d améliorer l approche si ces trois étapes initiales ne sont pas réalisées. 5

On notera que le schéma de description ne renseigne pas sur la position 2D des éléments électriques sur la plaque. Vous détaillerez précisément l approche que vous suivrez. Pistes possibles: Supposition d une structure hiérarchique simple. Le placement peut alors se réaliser en incrémentant des offsets en (x, y) en fonction du parcours du circuit. (Approche la plus simple, mais non applicable pour des graphes complexes). Utilisation de logiciels de modélisation de schéma externe de type PSpice et lecture de leur fichier de sauvegarde. Utilisation de logiciels de visualisation de graph et analyse de leur format de sortie (graphviz). Le projet fera potentiellement appel à plusieurs librairies externes. Vous expliciterez avec précision l utilisation à ces librairies et la raison de vos choix. Vous prêterez également un soin particulier à préciser les limitations de votre approche : quels circuits sont modélisables, quels circuits ne lesont pas. L ensemble de votre code devra faire apparaitre une séparation claire entre données graphiques et caractéristiques internes. On pourra par exemple créer des interfaces permettant d éviter de mélanger le traitement des données de la partie graphique. //interface d objets 3D class drawable3d public: virtual void draw() const=0; //Objets positionnable dans un schéma class embeeded_object public: Position2D getposition() const; void setposition(const Position2D& p); private: Position2D p; //données interne au composant class Resistor private: int value; class Resistor_scheme: public Resistor, public embeeded_object; class Resistor3D : public Resistor_scheme, public drawable3d public: virtual void draw() const; 6

4 Amélioration possible 4.1 Ajout de composants Il vous est possible de réfléchir à l ajout de composants linéaires à vos schémas. La résolution numérique des tensions et courants dans le cas statique n en est pas affectée, mais la visualisation peut prendre en compte ces éléments supplémentaires. Il est également possible de modéliser des éléments non linéaires(ex. diodes, transistors,...). La résolution d un système linéaire unique n est plus suffisante. Il devient alors nécessaire de réaliser plusieurs résolutions (dans le cas du modèle linéaire par morceaux de la diode), ou de modéliser celui-ci par une fonction non linéaire. La recherche de la solution se réalise alors à l aide de méthodes numériques(dichotomie, méthode de Newton,...). 4.2 Évolution dynamique ou régime permanent On peut dans un premier temps modéliser le système en régime oscillatoire périodique permanent. Dans ce cas, on considèrera une matrice complexe pondérée par les impédances des éléments. Dans le cas d un régime forcé non sinusoïdal périodique permanent, on pourra approximer la solution suivant une décomposition de l entrée sous forme de série de Fourier. Enfin, dans le cas dynamique non permanent, il devient nécessaire de modéliser les éléments par leur équation différentielle. La modélisation de cette équation pourra se faire par assemblage des équations différentielles associées à chaque élément. Enfin, la résolution de l évolution temporelle des tensions et courant se réalisera par incrément numérique suivant un pas de temps t. C est ce type d approche qui est réalisé dans les logiciels de simulations complets. 4.3 Modélisation de schémas On pourra réfléchir à la mise en place d une interface de modélisation permettant de réaliser des schémas manuellement. On pourra s inspirer d outils tels que PSpice, ou de dessins vectoriels tels que XFig. Enfin, vos schémas pourront être sauvegardés sous format échangeable et lisible par votre simulation et visualiseur 3D. 7