![]() | Frontière d'un domaine 2DUne représentation frontière est une représentation assez naturelle où une géométrie est définie par ses limites : en 2D des arêtes. Une arête est une portion de frontière qui sépare 2 milieux. Le "vide" est un milieu particulier que l'on ne souhaite pas représenter.Une géométrie constituée de plusieurs régions (ou "matériaux") peut ainsi être décrite simplement par une liste d'arêtes dont on donne les sommets à l'origine et à l'extrémité (et des points intermédiaires définissant la géométrie si nécessaire) ainsi que les 2 régions qu'elle sépare. L'ensemble des aretes doit définir des contours fermés et homogènes pour chaque région. Toutes ces entités sont définies ici par des numéros correspondant à leurs indices dans des tableaux ou des listes, par exemple la définition de l'arête : ar(5) = [ 1, 2, 3, 4 ] reg(5,1)=3 reg(5,2)=44 signifie que l'arête 5 est constituée des sommets et points de numéros : 1,2,3 et 4, que la région à sa droite porte le numéro 44, celle à sa gauche le numéro 3 (cet ordre 1=droite, 2=gauche est une convention). |
![]() | Exemple 1 : Premiers pas pour une géométrie simpleLa commande pour définir les coordonnées des points (losanges noirs sur la figure) :XYcoord=[-10,-10;10,-10;10,10;-10,10] ... Puis la définition des arêtes (segments de droite en rouge sur la figure): ar=[1;2;3;4;1]; ... Pour l'affichage : plot2d(XYcoord(:,1),XYcoord(:,2),style=-4); plot2d(XYcoord(ar,1),XYcoord(ar,2),style=5); ... Pour la liste complète des commandes voir le script correspondant : cliquez-ici. Le script est plus subtil : l'utilisation des listes pour représenter les arêtes s'avère beaucoup plus efficace quand on travaille sur des géométries complexes de quelques centaines de segments. Il fait appel aux fonction du fichier "DSutil.sci" qui vous facilitera la tâche pour la mise au format Delos. Vous pouvez le copier dans votre répertoire courant. Pour charger les fonctions de DSUtil.sci tapez dans la console : exec("DSutil.sci",-1) |
![]() | Exemple 1b (suite) : Définition de la densité du maillageLe maillage doit être contraint à respecter une fonction "taille" définie sur tout l'espace (de la géométrie) à travers des concentrations ponctuelles ou axiales.Le fichier exemple1b.sci vous donne la façon de procéder pour :
exec("DSutil.sci",-1) Pour ecrire le fichier de densités au format Delos : DSWriteDens("ma_densite.den", XYGeo, SUI, TDEN); Pour lancer le maillage et le visualiser : unix("delos v mon_carre.geo ma_densite.geo mon_carre.mesh - - ") Attention les messages d'exécution n'apparaîssent PAS dans la fenêtre de la console scilab mais dans une autre fenêtre (un terminal sous Linux). Attention sous Linux comme sous Windows, l'executable "delos" doit être accessible... [XY,TRI,REG]=DSReadMesh("mon_carre.mesh"); DSShowMesh(XY,TRI,REG,[],[],[]); |
![]() | Exemple 2 : visualisation de maillagesComme une géométrie, un maillage peut être affiché dans une figure SCILAB. Si le maillage est généré par Delos vous pouvez utiliser le script "DSutil.sci" que vous copierez dans le répertoire courant. Pour charger les fonctions de DSUtil.sci tapez dans la console :exec("DSutil.sci",-1) Pour charger le maillage à partir du fichier ( copiez exemple52.mesh ) puis tapez dans la console : [XY,TRI,REG]=DSReadMesh("exemple52.mesh"); Pour afficher le maillage, tapez : DSShowMesh(XY,TRI,REG,[],[],[]); Enfin le script correspondant à l'exemple est : cliquez-ici. |