Article: Modélisation - FDS & Smokeview (II)
Transmis le 09 janvier 2007 à 08:00:00 (17589 lectures)
Après un premier cours « découverte »,
nous attaquons cette fois le vif du sujet avec le placement des
portes, leur ouverture et enfin la mise en place d'éléments
mobiliers. Nous allons également commencer à animer
l'ensemble en produisant de la chaleur. Nous serons bientôt
prêts pour modéliser notre premier incendie! Remarques préliminaires
En premier, il semble que sur certaines machines ou sans doute
suivant les versions de FDS, l'ajout du signe « / »
en fin de ligne soit obligatoire. Afin qu'à terme nous
puissions échanger les fichiers de code que chacun produira,
il me semble préférable d'ajouter systématiquement
ce signe à la fin des lignes.
En second, je pense qu'il est bien de conserver un fichier par
cours. Le premier cours s'est fait avec un fichier qui se nomme
«test ». Dupliquez ce fichier et renommez le «
test_2 » pour travailler dessus. Nous ferons désormais
de même à chaque cours: le cours 3 se fera donc
avec « test_3 » etc ... Une fois la duplication effectuée,
ouvrez le fichier et changez le &HEAD pour mettre CHID='test_2'.
Les couleurs RGB
Dans le cours I, nous avons placé des murs en y associant
des couleurs avec le code RGB. Le résultat était
pour les moins « flashy ». Nous allons voir comment
mettre des couleurs plus douces, pour ne pas avoir d'interaction
visuelle avec les couleurs qui indiqueront ultérieurement
les températures.
Sur votre ordinateur, les couleurs primaires sont le rouge, le
vert et le bleu, alors que, sur votre imprimante, ces couleurs
primaires sont le cyan, le jaune et le magenta. Etant donné
que nous utilisons un logiciel donc un outil informatique dont
l'affichage se fait sur l'écran, nous utiliserons le système
RVB (Rouge Vert Bleu) donc en anglais RGB (Red Green Blue). C'est
le mélange de rouge, de vert et de bleu, donc la quantité
respective de ces composantes de base, qui donne toutes les couleurs.
Avec FDS, chaque composante (donc le rouge, le vert et le bleu)
peut prendre une valeur comprise entre 0 et 1. Nous pouvons donc
avoir (0,0,0) ce qui donne du noir. Avec (1,1,1) nous avons du
blanc. Pour avoir du gris « moyen », il faut donc
avoir (0.5,0.5,0.5). Pour du rouge vif, il faut mettre le rouge
au maximum et les autres à 0, donc (1,0,0) etc...
Pour construire les couleurs, je vous ai fait un petit outil auquel vous pouvez accéder en cliquant ici. Il vous suffit de cliquer sur un des pavés de couleurs
ci-dessous et la couleur au format FDS s'affichera en dessous.
L'autre solution consiste à prendre un logiciel de dessin
et à faire la conversion. Si votre logiciel de dessin vous
présente des couleurs en notant les valeurs de 0 à
255, il vous suffit de diviser ces valeurs par 255 (la valeur
maxi.) pour avoir les valeurs FDS. Exemple: un orange qui vous
sera présenté avec les valeurs R=255, G=153 et B=51
vaudra pour FDS: R=255/255=1, G=153/255=0.6 et B=51/255=0.2
Pour avoir des murs avec des couleurs « correctes »,
modifier leur code comme ceci:
/ Premier mur (côté gauche du couloir)
&OBST XB= 2.8, 3.0, 0.0, 4.0, 0.0, 2.4, RGB=0.6,0.6,0.6
/
/ Second mur (côté droit du couloir)
&OBST XB= 4.0, 4.2, 0.0, 4.0, 0.0, 2.4, RGB=0.6,0.6,0.6
/
/ Troisième mur (sépare la pièce de droite
en deux)
&OBST XB= 4.2, 8.0, 2.0, 2.2, 0.0, 2.4, RGB=0.6,0.6,0.6
/ |
Les ouvertures
Nous allons placer des ouvertures vers l'extérieur et des
ouvertures dans les cloisons. Pour se repérer, le plus
simple consiste à faire un plan de notre habitation, vue
de dessus.
Pour FDS, il existe deux types de murs. Les murs donnant sur
l'extérieur, définis par les valeurs générales
(PDIM) et les murs intérieurs qui ne sont que des objets,
définis par OBST.
Pour réaliser des ouvertures, il existe également
deux solutions: l'une pour les murs extérieurs, l'autre
pour les murs intérieurs (ou toute sorte d'objet OBST).
Ouvertures sur l'extérieur
Pour les murs donnant sur l'extérieur, c'est la commande
VENT qui permettra de faire une ouverture. Mais en fait, VENT
est un objet assez complexe, qui peut émettre du froid,
du chaud ou être « neutre ». Lorsqu'il est placé
sur une paroi extérieure, le VENT peut-être considéré
comme une porte ou une fenêtre. Mais comme il peut émettre
du chaud ou du froid, nous pouvons nous en servir pour simuler
un chauffage à air chaud par exemple. D'un autre côté,
VENT peut être considéré comme une surface
chaude. En quelque sorte une plaque de métal qui chaufferait.
Nous pouvons dans ce cas utiliser un « VENT » pour
mettre le feu quelque part: il suffit de poser un VENT sur un
fauteuil et de le définir comme chauffant à 400°C
pour que le fauteuil prenne feu.
Pour l'instant, nous allons nous contenter d'utiliser l'objet
VENT pour définir la porte d'entrée de notre habitation,
en ajoutant dans notre fichier la ligne suivante:
&VENT XB= 3.1, 3.9, 0.0, 0.0, 0.0, 2.0,
RGB=0,0,1 / Porte 1 (entrée) |
Le vent étant « plat », deux de ses valeurs
sont identiques (ici Y1=Y2).
Note: le VENT n'est pas visible de l'extérieur
de la structure et pour le voir il faut le colorer.
Ouvertures intérieures
Les ouvertures, dans les murs intérieurs (ou en fait, tous
les OBST), se font avec HOLE (qui signifie «trou»
en Anglais) et qui est défini de la même manière
que OBST (coordonnées X1,X2,Y1,Y2,Z1,Z2 comme pour VENT).
Le code pour les trois portes est donc le suivant:
&HOLE XB= 2.8, 3.0, 1.0, 1.8, 0.0, 2.0 /
Porte 2 (mur de gauche)
&HOLE XB= 4.0, 4.2, 3.0, 3.8, 0.0, 2.0 / Porte 3 (mur de
droite)
&HOLE XB= 5.0, 5.8, 2.0, 2.2, 0.0, 2.0 / Porte 4 (entre les
pièces de droite) |
Deux canapés
Avant de passer à l'animation de nos ouvertures, continuons
à aménager notre local. Pour cela, nous allons ajouter
deux canapés dans la pièce de gauche, en nous repérant
sur le plan suivant:
|
|
Chaque canapé à une base de 1,40 de large, 80
cm de profondeur et 30 cm de haut. Le dossier est posé
sur cette base. Il fait 1,40 de large, 30 cm d'épaisseur
et 60 cm de haut. Comme il est posé sur la base, le sommet
du canapé est donc à 90 cm du sol. Nous ajoutons
2 accoudoirs, posées aussi sur la base. Chaque accoudoir
fait 20 cm de côté et donc 50 cm de long pour toucher
le dossier. Comme Smokeview n'a pas vocation à faire de
la « jolie 3D », il ne gère ni les ombrages,
ni l'éclairage. Le résultat c'est que si nous colorons
tous les éléments du canapé avec la même
couleur, nous aurons du mal à les distinguer. C'est pour
cela que nous allons colorer les accoudoirs d'une couleur plus
claire que le reste du canapé. Pour faciliter également
le repérage, il y a un canapé bleu (le A) et un
autre vert (le B).
Le code pour les deux canapés est le suivant:
/ Canapé Bleu: assise, dossier et 2 accoudoirs
&OBST XB= 0.7, 2.1, 4.0, 3.2, 0.0, 0.3, RGB=0,0,0.6 /
&OBST XB= 0.7, 2.1, 4.0, 3.7, 0.3, 0.9, RGB=0,0,0.6 /
&OBST XB= 0.7, 0.9, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1 /
&OBST XB= 1.9, 2.1, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1 /
/ Canapé vert contre le mur de gauche
&OBST XB= 0.0, 0.8, 1.3, 2.7, 0.0, 0.3, RGB=0.2,0.4,0 /
&OBST XB= 0.0, 0.3, 1.3, 2.7, 0.3, 0.9, RGB=0.2,0.4,0 /
&OBST XB= 0.3, 0.8, 1.3, 1.5, 0.3, 0.5, RGB=0.6,1,0 /
&OBST XB= 0.3, 0.8, 2.4, 2.7, 0.3, 0.5, RGB=0.6,1,0 /
|
Une fois les instructions VENT, HOLE et les
éléments des canapés mis en place, lancez
FDS puis Smokeview et vous obtiendrez le résultat suivant.
Le dessins représente le local un fois tourné sous
Smokeview, afin de faire apparaître le VENT, les 3 portes
intérieures et les deux canapés. Vous notez que
désormais, nos murs sont gris, suite à notre changement
de couleur. |
|
Ouvrir les portes
Dans tous les articles et document que vous avez trouvés
sur ce site, vous avez vu que la ventilation avait toujours un
impact énorme sur les conditions dans le local.
Avec FDS, l'ouverture d'une porte se fait simplement en créant
un objet VENT ou HOLE. Le problème c'est que cette ouverture
va se faire dès le début de l'animation. Pour retarder
cette ouverture, il faut spécifier un délai, avec
le paramètre T_CREATE pour les HOLE et T_ACTIVATE pour
les VENT, suivi du nombre de secondes.
Attention: les durées sont toujours comptées
en secondes, depuis le début de la simulation!
Remplacez les lignes avec VENT et HOLE par les lignes suivantes:
&SURF ID='BLOW' ,VEL=-0.3, TMPWAL=200.0,
RGB=0.0,0.0,1.0 /
/ Création dés le départ de la porte 2,
ouverte sur 60cm
&HOLE XB= 2.8, 3.0, 1.0, 1.6, 0.0, 2.0 /
/ Porte principale (1), ouverte au bout de 2 secondes
&VENT XB= 3.1, 3.9, 0.0, 0.0, 0.0, 2.0, SURF_ID='BLOW',T_ACTIVATE=2.0
/
/ Création porte 3, ouverte en grand au bout de 3 secondes
&HOLE XB= 4.0, 4.2, 3.0, 3.8, 0.0, 2.0, T_CREATE=3.0 /
/ Création porte 4, ouverte en grand au bout de 5 secondes
&HOLE XB= 5.0, 5.8, 2.0, 2.2, 0.0, 2.0, T_CREATE=5.0 / |
Voyons ce que cela signifie en regardant d'abord les codes
HOLE. Notre porte 2 étant ouverte dès le départ,
nous la créons comme précédemment. Simplement
nous voulons qu'elle ne soit ouverte que de 60 cm (donc sa largeur
ne va que de 1.0 à 1.6).
La porte 3 sera ouverte en grand (80cm de large) au bout de 3
secondes (T_CREATE=3.0) et la porte 4 sera ouverte en grande (également
80cm de large) au bout de 5 secondes (T_CREATE=5.0).
Pour l'objet VENT c'est un peu plus compliqué car nous
avons deux lignes:
La ligne &SURF va définir un type de surface,. Ici
nous lui avons donné le nom BLOW. Le paramètre VEL
indique le sens et la vitesse d'émission de la chaleur
(ou du froid). Ici, le signe négatif indique que cette
surface « pousse » la chaleur vers l'intérieur
de la structure et la valeur numérique indique que la vitesse
est de 0.3 mètres par seconde. Le paramètre TMPWAL
indique la température, donc ici 200°C. Le code RGB
défini ensuite la couleur. Ici, SURF est donc une définition
qui indique «objet nommé BLOW, soufflage à
200°C vers l'intérieur, à une vitesse de de
0.3m/s et une coloration en bleu».
Ensuite nous créons notre objet VENT et nous disons
«réagit comme l'indique la définition SURF
dont le nom est BLOW». Bien sûr, si nous avions
besoin de 25 objets VENT réagissant de cette manière,
nous n'aurions qu'une ligne SURF! Et pour changer la vitesse d'émission
de nos 25 VENT, nous n'aurions qu'à changer le paramètre
VEL de notre SURF. Bien pratique!
Si vous sauvez le fichier, que vous lancez FDS puis Smokeview,
vous constaterez que rien ne se passe. Deux raisons à cela
:
En premier il faut ajouter du temps. Pour l'instant nous avons
une durée de simulation de 0. Nous allons donc modifier
la ligne TIME pour mettre:
Nous aurons ainsi une simulation sur 6 secondes, ce qui est
suffisant puisque la dernière ouverture de porte se fait
à 5 secondes.
Ceci étant réglé, le résultat ne
change pas. A priori (je dis à priori car je n'ai pas trouvé
d'autres raisons), FDS ne va procéder à la création
d'une suite «animée» que si nous lui demandons
de sauvegarder une donnée potentiellement évolutive.
Nous allons donc ajouter, en fin de notre fichier, la ligne suivante:
&BNDF QUANTITY='GAUGE_HEAT_FLUX' / |
Cela va demander à FDS d'enregistrer les variations
du flux thermique, ce qui tombe bien puisque notre VENT souffle
un vent à 200°C dans notre habitation!
Lancez le calcul sous FDS. Vous constaterez qu'il faut plus
de 6 secondes pour calculer les 6 secondes d'animation. Preuve
qu'il est illusoire d'espérer utiliser un tel outil en
temps réel durant une intervention!
Une fois le calcul terminé, lancez Smokeview, puis
effectuez un clic droit (Ctrl Clic sur Mac) pour faire apparaître
le menu. Dans celui-ci, choisissez « Load/Unload - Boundary
File - GAUGE_HEAT_FLUX ».
Si l'animation se déroule trop rapidement, cliquez sur
« Options - Max Frame rate » dans le petit menu,
et réglez la vitesse d'affichage. Autre solution, cliquez
sur la barre de défilement du temps puis avancez image
par image avec la barre d'espace.
|
|
Une animation plus longue ?
Notre animation ne dure que 6 secondes et les portes s'animent
très tôt. Pourtant nous voyons qu'avec seulement
6 secondes le temps de calcul s'allonge. Or, ce qui peut nous
intéresser, c'est de modéliser des feux réels
: le canapé est mis à feu, 5 minutes après
les habitants se sauvent, préviennent les sapeurs-pompiers
qui arrivent au bout de10 minutes, pénètrent dans
le local et se font piéger 5 minutes plus tard. En tout,
nous avons donc 20 minutes d'animation. Bien sûr, vous pouvez
laisser tourner votre machine toute la nuit. Mais une fois Smokeview
lancé, si vous vous rendez compte que tout est à
refaire car la porte est mal placée ou ne s'ouvre pas au
bon moment, cela risque de vous décourager assez rapidement.
Pour éviter cela, il faut commencer par faire un plan de
la structure, avec les dimensions. Définissez les dimensions
extérieures, vérifiez les en lançant FDS
avec TIME TWFIN à 0. Placez ensuite les cloisons, puis
vérifier. Faites de même avec les meubles et enfin
avec les ouvertures que vous ouvrirez en totalité dés
le début.
Lorsque tout est bien placé, régler les commandes
d'ouverture, en vous basant sur des délais très
court comme nous venons de le faire, ce qui vous permettra de
voir l'enchaînement des actions.
Une fois ceci réalisé, il vous restera simplement
à changer les délais, à allonger le temps
général et d'être patient.
Voici le code complet de notre cours:
&HEAD CHID='test_2',TITLE='Test cours 2 pour flashover.fr'
/
&GRID IBAR=80,JBAR=40,KBAR=24 / Nombre de cellules en x,
y, z
&PDIM XBAR=8.0,YBAR=4.0,ZBAR=2.4 / Dimensions en mètres
&TIME TWFIN=6.0 / Durée de la simulation
/ Premier mur (côté gauche du couloir)
&OBST XB= 2.8, 3.0, 0.0, 4.0, 0.0, 2.4, RGB=0.6,0.6,0.6
/
/ Second mur (côté droit du couloir)
&OBST XB= 4.0, 4.2, 0.0, 4.0, 0.0, 2.4, RGB=0.6,0.6,0.6
/
/ Troisème mur (sépare la pièce de droite
en deux)
&OBST XB= 4.2, 8.0, 2.0, 2.2, 0.0, 2.4, RGB=0.6,0.6,0.6
/
&SURF ID='BLOW' ,VEL=-0.3, TMPWAL=200.0, RGB=0.0,0.0,1.0
/
/ Création dés le départ de la porte 2,
ouverte sur 60cm
&HOLE XB= 2.8, 3.0, 1.0, 1.6, 0.0, 2.0 /
/ Porte principale (1), ouverte au bout de 2 secondes
&VENT XB= 3.1, 3.9, 0.0, 0.0, 0.0, 2.0, SURF_ID='BLOW',T_ACTIVATE=2.0
/
/ Création porte 3, ouverte en grand au bout de 3 secondes
&HOLE XB= 4.0, 4.2, 3.0, 3.8, 0.0, 2.0, T_CREATE=3.0 /
/ Création porte 4, ouverte en grand au bout de 5 secondes
&HOLE XB= 5.0, 5.8, 2.0, 2.2, 0.0, 2.0, T_CREATE=5.0 /
/ Canapé Bleu: assise, dossier et 2 accoudoirs
&OBST XB= 0.7, 2.1, 4.0, 3.2, 0.0, 0.3, RGB=0,0,0.6 /
&OBST XB= 0.7, 2.1, 4.0, 3.7, 0.3, 0.9, RGB=0,0,0.6 /
&OBST XB= 0.7, 0.9, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1 /
&OBST XB= 1.9, 2.1, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1 /
/ Canapé vert contre le mur de gauche
&OBST XB= 0.0, 0.8, 1.3, 2.7, 0.0, 0.3, RGB=0.2,0.4,0 /
&OBST XB= 0.0, 0.3, 1.3, 2.7, 0.3, 0.9, RGB=0.2,0.4,0 /
&OBST XB= 0.3, 0.8, 1.3, 1.5, 0.3, 0.5, RGB=0.6,1,0 /
&OBST XB= 0.3, 0.8, 2.4, 2.7, 0.3, 0.5, RGB=0.6,1,0 /
&BNDF QUANTITY='GAUGE_HEAT_FLUX' /
|
Une animation plus longue!
Sans toucher aux délais d'ouverture des portes, changer
simplement TIME TWFIN pour le régler à 60 (donc
une minute d'animation). Lancer FDS, patientez, puis lancez puis
Smokeview et observez: vous constaterez que pédagogiquement,
cela commence à devenir très intéressant
: alors que l'on peut penser que c'est la pièce de gauche,
donc la plus proche de la source de chaleur, qui sera la plus
chaude, il s'avère que c'est en fait la pièce du
fond! La chaleur arrive au bout du couloir, percute le mur, descend,
se retrouve sous le niveau du haut de la porte et pénètre
donc dans cette pièce. Vous pouvez changer les délais
d'ouverture des portes, ou changer la température et la
vitesse de production de chaleur et regarder ce que cela donne.
La prochaine fois
Nous voici à la fin de cette seconde leçon. Nous
commençons à avoir une petite idée des possibilités
de cet outil. Nous avons désormais de beaux canapés,
des portes qui s'ouvrent, de la chaleur qui se déplace
La prochaine fois nous allons définir la matière
des canapés et y mettre le feu!
Et comme toujours, si vous avez des questions, le forum "Modélisation
informatique" est là pour ça!
Pierre-Louis Lamballais / pl.lamballais@flashover.fr
|
"Article: Modélisation - FDS & Smokeview (II)" | Connexion/Créer un compte | 0 commentaires |
| Les commentaires sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus ! |
|
Les commentaires anonymes ne sont pas autorisés, veuillez vous enregistrer
|
| |
Noter cet Article |
Score Moyen: 4 Votes: 1
|
|
|