Modélisation - FDS & Smokeview (III)

Date: 22 janvier 2007 à 10:07:24
Sujet: Modélisation Informatique


Nous voici déjà au troisième cours sur FDS / Smokeview. Après avoir construit notre structure, placé des murs, installé quelques canapés et mis des ouvertures, nous avons vu comment ouvrir celles-ci. Cette fois, nous allons définir la matière de nos canapés afin de les rendre combustible. Nous allons y mettre le feu afin de modéliser notre premier incendie!

Avant de commencer
Dupliquer votre fichier " test_2 ", renommer la copie " test_3 " et changer le &HEAD pour mettre CHID='test_3'.

Le combustible
Nous avons des objets, mais rien ne les distingue en termes de matière. Le canapé bleu est constitué de 4 entités OBST, tout comme le canapé vert, mais les murs sont également des entités OBST. Or, il est évident que les murs et les canapés ne sont pas de la même matière.
Ce qui nous intéresse c'est de savoir si un objet va s'enflammer à 500 ou à 700 degrés, s'il va émettre des fumées, s'il est fortement humide ou non etc

A titre indicatif, voici le code définissant le combustible " Kérosène " :

&SURF ID = 'KEROSENE'
FYI = 'NIST Database, n-dodecane, C_12 H_26'
RGB = 0.40,0.40,0.40
TMPIGN = 216.0
HEAT_OF_VAPORIZATION = 256.0
HEAT_OF_COMBUSTION = 42800.
DELTA = 0.10
KS = 0.109
DENSITY = 810.
C_P = 2.4
PHASE = 'LIQUID' /

Pas très clair. Nous étudierons cela plus tard, mais pour l'instant, il nous faut du " plus simple ", d'autant que si vous vous trompez d'un chiffre, vous obtenez un résultat différent.
La solution va consister à utiliser le " SURF_ID " (identifiant de la surface) de ce combustible, et indiquer celui-ci comme paramètre sur les éléments que nous voulons considérer comme étant de ce type. Ainsi, si vous avez 25 OBST du même type de combustible, il suffira de définir une fois ce combustible puis de recopier son identifiant sur vos 25 OBST.

Réglages généraux
Dans notre structure, il y a aussi des réglages " généraux " à effectuer. Si nous avons 300 objets en bois et 10 en plastique, autant dire à FDS " par défaut tous les objets sont en bois " et nous n'aurons à préciser la matière que pour les 10 en plastique. De même, il serait intéressant d'avoir un fichier séparé, dans lequel nous aurions la définition de tous les combustibles : il suffirait d'indiquer à FDS où se trouve ce fichier pour qu'il aille y chercher les définitions de combustibles, que nous n'aurions donc pas à recopier.

Ces réglages par défaut se font avec le code &MISC
Dans votre fichier pour FDS, après la ligne des réglages TIME, rajoutez la ligne suivante

&MISC SURF_DEFAULT='GYPSUM BOARD', DATABASE='database4.data', REACTION='WOOD' /

Par défaut, les surfaces sont ainsi définies comme étant en " GYPSUM BOARD " (panneau isolant), à moins qu'on ne précise autre chose. Le paramètre DATABASE demande à FDS d'utiliser un fichier nommé " database4.data ". Si vous avez téléchargé le package complet FDS/Smokeview, vous avez ce fichier. Si ce n'est pas le cas, allez sur le site du NIST dans la zone téléchargement (http://fire.nist.gov/fds/) et récupérez le. Ce fichier contient tout un ensemble de définitions de combustible. Vous pouvez l'ouvrir avec un éditeur de texte et regarder ce qu'il contient : vous y verrez des codes SURF_ID qui définissent des types de comportements de surfaces .
La seule chose à vérifier c'est l'emplacement de ce fichier database4.data qui doit être conforme au chemin indiqué dans le paramètre DATABASE.
La ligne REACT définie la réaction par défaut. Ici c'est le bois qui est pris comme base.

Le canapé combustible
Puisque nous avons désormais des définitions de combustions, nous allons les appliquer aux OBST de nos canapés. Dans database4.data nous trouvons UPHOLSTERY que l'on peu traduire par " ameublement rembourré " et qui sert pour les fauteuils, les canapés etc
Pour définir les OBST de nos canapés comme étant de ce type, nous devons ajouter SURF_ID='UPHOLSTERY' à chacun de ses OBST, pour obtenir des lignes telles que :

&OBST XB= 0.7, 2.1, 4.0, 3.2, 0.0, 0.3, RGB=0,0,0.6,SURF_ID='UPHOLSTERY' /

Comme nous ne rajoutons pas de SURF_ID pour les murs, nous en déduisons qu'ils sont de type GYPSUM_BOARD puisque c'est la surface par défaut.

Mettre le feu
Tout est en place, mais rien ne brûle : les canapés sont dans le salon, nous avons défini la matière, mais ce n'est pas pour ça qu'ils brûlent. En fait, il faut allumer !
Nous allons d'abord définir un identifiant de surface qui correspondra à une émission de chaleur, puis nous placerons un objet VENT, puisque ces objets peuvent émettre de la chaleur. Nous lui appliquerons l'identifiant de notre surface " qui chauffe ". Ce VENT, nous allons le placer sur le canapé bleu, sur l'assise, au fond à droite, à plat. C'est en quelque sorte une plaque chauffante, carrée, de 20 cm de côté.

&PART ID='tracers',MASSLESS=.TRUE. /
&SURF ID='BURNER',PART_ID='tracers',HRRPUA=1000./ Ignition source
&VENT XB= 1.7,1.9,3.7,3.5, 0.3, 0.3, SURF_ID='BURNER' /


La première ligne indique que l'élément chauffant pourra produire des traces, visibles sous smokeview, mais dont la masse est nul (cela sert pour suivre la chaleur par exemple). La seconde ligne définit un élément chauffant que nous appelons " BURNER ". Il dégage un débit calorifique de 1000kw/m2 (et pas 1000 degrés comme indiqué précédement, par erreur! Merci à chtixav pour cette remarque!) ce qui permettra une inflammation rapide du canapé. La ligne suivante (VENT) définit cette " plaque chauffante " en lui attribuant le type BURNER.

Quoi mesurer ?
Il nous reste à indiquer à FDS ce qu'il doit sauvegarder comme paramètres évolutifs. Nous allons lui demander de prendre en compte l'évolution de la chaleur, la température des murs (surface) et également la perte de masse lors de la combustion.

&BNDF QUANTITY='GAUGE_HEAT_FLUX' / Flux de chaleur
&BNDF QUANTITY='WALL_TEMPERATURE' / Température des murs (surfaces)
&BNDF QUANTITY='BURNING_RATE' / Perte de masse par unité

L'échelle de temps
Lors du cours précédent nous avions réalisé des animations sur les portes, mais nous les avions réalisé sur une échelle de temps très courte. Il faut changer ces réglages pour avoir une simulation plus réaliste.
Ce que je vous propose c'est de faire un calcul qui sera long, mais qui sera représentatif d'une action de type " sapeurs-pompiers ".
La simulation va durer 20 minutes, soit 20 x 60 = 1200 secondes. Nous allons l'indiquer en changeant la ligne TIME :

&TIME TWFIN=1200.0 /

Ensuite nous allons ouvrir les portes :
Porte 1 ­ Ouverte par les secours à 8 minutes (480 secondes)
Porte 2 ­ Toujours ouverte
Porte 3 ­ Ouverte à 9 minutes (exploration pour recherche de victime)
Porte 4 ­ Ouverte à 11 minutes (exploration pour recherche de victime)

Nous rajoutons également une petite fenêtre, ouverte, sur la façade, à gauche et une fenêtre à droite, qui ne s'ouvrira qu'au bout de 12 minutes (720 secondes).

Note : sans la petite fenêtre de gauche, ouverte en permanence, la structure n'est pas du tout ventilé et au bout de 7 à 8 minutes, le feu s'éteint, faute de comburant.

Le SURF_ID " OPEN " est un paramètre réservé aux ouvrants neutres. Il permet de désigner une fenêtre ou une porte ouverte sur l'extérieur, sans soufflage ni extraction précise. Le fait que cet ouvrant servira à faire entrer de l'air ou sortir les fumées sera calculé par FDS en fonction des pressions etc

Le code complet
Le code complet est donné ci-dessous. A noter que la porte numéro 2 que nous avions créé dans le cours II a été déplacée pour être désormais au fond du couloir. Le calcule est long, et montre une problématique simple : après l'ouverture de la porte et la pénétration dans le couloir, faut-il bifurquer à gauche et attaquer le feu, ou le laisser et bifurquer à droite pour faire les sauvetages.

/ Simulation Incendie
/ Numéro 3
/ Version 2.01 du 10-01-2007
/ Ouverture première porte à 8 minutes
/ Durée totale 20 minutes

&HEAD CHID='test_3',TITLE='Test Cours 3 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=1200.0 / Durée de la simulation (20 min)

&MISC SURF_DEFAULT='GYPSUM BOARD', DATABASE='database4.data', REACTION='WOOD' /

/ 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 /

/ Petite fenêtre en facade à gauche, 80cm de large et 60 de haut
&VENT XB= 1.0, 1.8, 0.0, 0.0, 1.2, 1.8, SURF_ID='OPEN' /

/ Création dés le départ de la porte 2, ouverte sur 60cm
/ Elle est à gauche, au fond du couloir
&HOLE XB= 2.8, 3.0, 3.0, 3.6, 0.0, 2.0 /

/ Porte principale (1), ouverte au bout de 8 minutes (480 sec)
/ Elle est ouverte de 60 cm
&VENT XB= 3.1, 3.7, 0.0, 0.0, 0.0, 2.0, SURF_ID='OPEN',T_ACTIVATE=480.0 /

/ Création porte 3, ouverte en grand au bout de 9 minutes (540 sec)
&HOLE XB= 4.0, 4.2, 3.0, 3.8, 0.0, 2.0, T_CREATE=540.0 /

/ Création porte 4, ouverte en grand au bout de 11 minutes (660 sec)
&HOLE XB= 5.0, 5.8, 2.0, 2.2, 0.0, 2.0, T_CREATE=660.0 /

/ Bris de vitre (façade, sur la droite) à 12 minutes (720 sec)
&VENT XB= 5.0, 5.8, 0.0, 0.0, 1.2, 1.8, SURF_ID='OPEN',T_ACTIVATE=720.0 /

/ Source de chaleur sous l'accoudoir de droite du canapé bleu
&PART ID='tracers',MASSLESS=.TRUE. /
&SURF ID='BURNER',PART_ID='tracers',HRRPUA=1000./ Ignition source
&VENT XB= 1.7,1.9,3.7,3.5, 0.3, 0.3, SURF_ID='BURNER' /

/ 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,SURF_ID='UPHOLSTERY' /
&OBST XB= 0.7, 2.1, 4.0, 3.7, 0.3, 0.9, RGB=0,0,0.6,SURF_ID='UPHOLSTERY' /
&OBST XB= 0.7, 0.9, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1,SURF_ID='UPHOLSTERY' /
&OBST XB= 1.9, 2.1, 3.7, 3.2, 0.3, 0.5, RGB=0.2,0.6,1,SURF_ID='UPHOLSTERY' /

/ 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,SURF_ID='UPHOLSTERY' /
&OBST XB= 0.0, 0.3, 1.3, 2.7, 0.3, 0.9, RGB=0.2,0.4,0,SURF_ID='UPHOLSTERY' /
&OBST XB= 0.3, 0.8, 1.3, 1.5, 0.3, 0.5, RGB=0.6,1,0,SURF_ID='UPHOLSTERY' /
&OBST XB= 0.3, 0.8, 2.4, 2.7, 0.3, 0.5, RGB=0.6,1,0,SURF_ID='UPHOLSTERY' /

&BNDF QUANTITY='GAUGE_HEAT_FLUX' / Flux de chaleur
&BNDF QUANTITY='WALL_TEMPERATURE' / Température des murs (surfaces)
&BNDF QUANTITY='BURNING_RATE' / Perte de masse par unité

Lancer le calcul
Si vous espérez lancer le calcul et voir le résultat 10 minutes plus tard, c'est que vous êtes très optimiste, ou que vous avez l'ordinateur le plus puissant du monde. Plus sérieusement, lancez FDS et allez vous coucher ! Lorsque le calcul sera terminé, lancez Smokeview. En utilisant le menu, demandez l'affichage de la fumée (Smoke) et des autres paramètres.

La prochaine fois
Nous analyserons le résultat de cette animation et nous ferons un tour rapide de smokeview et des éléments que l'on peut visualiser.

Bien évidemment, le forum "Simulation informatique" est ouvert aux questions, et entre autres à l'analyse "opérationnelle" de ce que montre cette simulation.
A noter que c'est cette simulation qui est utilisée dans la document "Approche tactique des feux de locaux".

Pierre-Louis Lamballais / pl.lamballais@flashover.fr







Cet article provient de Flashover - Backdraft - Fire Gas Ignition
http://www.flashover.fr

L'URL de cet article est:
http://www.flashover.fr/modules.php?name=News&file=article&sid=59