[Users-fr] Conduction dans une plaque sur Scilab
Samuel Gougeon
sgougeon at free.fr
Ven 16 Mai 09:48:25 CEST 2014
Bonjour,
Le 15/05/2014 21:38, Seb a écrit :
> Bonjour,
>
> Je suis en 2e année d'école d'ingé et j'ai un projet d'analyse
> numérique à faire sur Scilab.
> Le but est de déterminer la chaleur en tout point d'une plaque de
> sommets (0,0); (2,0) ; (1,1) ; (0;1) (un carré avec un triangle
> rectangle isocèle à côté en somme) et de l'afficher dans un graphique
> (avec une animation en fonction du temps dans le meilleur des cas!)
> Les conditions aux limites (sur les côtés) sont assez variables (un
> côté avec une température constante, deux avec un flux entrant ou
> sortant, et une paroi adiabatique). Pour commencer simplement, j'ai
> récupéré d'un prof un programme un peu similaire, qui concerne une
> plaque carrée avec des conditions aux limites simples (températures
> uniquement). Voici le code :
> .../...
> (Il y a plusieurs conditions aux limites possibles, il suffit de
> changer la matrice dans la dernière ligne (animation(A,B,C,D ou E))
>
> Pour faire le rapprochement avec mon projet, il faut que ma surface
> soit polygonale (le polygone que j'ai décrit plus haut). Évidemment,
> la discrétisation change, vu qu'en fonction de la "hauteur" selon y,
> le nombre de points sur une même ligne change.
>
> Là arrive mon problème. Comment tracer (avec plot3d je présume) une
> surface avec une base polygonale et où la valeur de z est donnée par
> la matrice des chaleurs (dans mon cas, elle s'appelle M)
>
> J'ai essayé en donnant comme arguments de plot3d trois vecteurs x,y,z,
> avec le i-ème point de chaque vecteur étant la coordonnée (ou la
> chaleur pour z),mais ça n'a pas marché. J'ai ensuite essayé en
> utilisant les "facet" (cf aide de Scilab [help.scilab.org
> <http://help.scilab.org/docs/5.5.0/fr_FR/plot3d.html>]); j'arrive à
> tracer une surface polygonale, mais je ne peux donner les valeurs de z
> que pour les sommets de ce polygone...
Une carte thermique "à plat" comparable à un thermogramme est aussi
possible, la couleur du "pixel" étant fonction de la température (voir
Matplot, Matplot1, ou la famille des.. grayplot())
Mais cela ne résoudra pas votre problème de limites de grille
d'échantillonnage spatial. Pour traiter celui-ci, quelques remarques :
- si une des coordonnées d'un tracé a la valeur spéciale %nan, le
"pixel" correspondant n'est pas tracé (ou les traits reliant ce noeud à
ses voisins). Cela permet de masquer les noeuds (et les arêtes) situés
hors du périmètre du polygone qui vous intéresse.
- le module externe SciFreeFEM devrait vous aider. Il propose des
démonstrations. http://atoms.scilab.org/toolboxes/SciFreeFEM
Il existe quelques modules externes qui travaillent eux directement avec
des éléments finis (au moins en 2D, ce qui est ici le cas). Voir sur
ATOMS et dans les archives.
Salutations
Samuel Gougeon
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20140516/4690b5d3/attachment.htm>
Plus d'informations sur la liste de diffusion users-fr