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