Article: Modélisation - FDS & Smokeview (VI)
Transmis le 25 mars 2007 à 14:39:35 (20188 lectures)
Dans le cadre d'une simulation réalisée avec
FDS, nous avons déjà provoqué des événements
"manuels",comme l'ouverture d'une porte d'après
le temps qui s'écoule, ce qui nous a permis de simuler
l'entrée des secours.
Cette fois nous allons essayer de déclencher ces actions
en fonction de la détection de température. Nous
verrons également comment mesurer cette température,
mais aussi la présence de différents gaz, aux différents
endroits de notre structure. Note : pour des raisons de vitesse de calculs, les exemples
donnés dans ce cours sont basés sur des grilles
de 0,50cm. Le "canapé" utilisé comme source
de feu est donc symbolisé par un simple bloc de mousse,
de 2m de large, 1m de profondeur et 50cm d'épaisseur.
Les détecteurs de fumée
Sous FDS, les détecteurs de fumée sont définis
par la commande SMOD (pour SMOke Detector). Le détecteur
est représenté sous forme d'un point et a donc besoin
de seulement 3 coordonnées : X, Y et Z.
&SMOD XYZ=3.0,5.6,2.3, LENGTH=1.8,
ACTIVATION_OBSCURATION=1.0, LABEL='THE_SMOD1' / |
Le détecteur est défini par ses coordonnées
mais il a aussi un nom. Le principe est le même que pour
les SURF ID que nous avons déjà utilisé: nous nommons le détecteur, puis nous utilisons son nom
comme repère pour déclencher des événements.
Sauf que ça ne marche pas ! En fait, dans la version de
FDS que nous utilisons pour ce cours (version 4.07) cette fonctionnalité
n'est pas implémentée, alors que la documentation
le laisse croire !
Le détecteur sert donc juste à savoir s'il y
a ou non de la fumée, rien de plus. Lorsqu'il détecte
de la fumée, il s'active et sa représentation graphique
change de couleur. Mais il faut de bons yeux car seule une petite
lumière est alors visible: l'image de droite en haut,
représente le détecteur sans détection de
fumée, celle du bas représente le détecteur
activée. Bien sûr, le détecteur fonctionne
même si, sous Smokeview ,vous demandez à ne pas
voir la fumée : ce n'est qu'une question de calcul.
|
|
|
|
Pour avoir plus de précision quant au déclenchement,
il faut regarder le fichier _smkdt.csv qui est créé.
Ce fichier décrit l'obscuration perçue par le détecteur
(ou par les détecteurs puisque l'on peut en mettre autant
que l'on veut).
Si vous désirez ouvrir une porte lorsque le détecteur
percevra la fumée, il vous faut lancer le calcul, regarder
le fichier smkdt.csv pour connaître le délais et
appliquer celui-ci sur l'ouverture de porte.
Note: par défaut, FDS propose un détecteur
de type "Heskestad" (voir http://www.interfire.org/features/smokedetector.asp).
Pour ceux de type "Clearly model", il faut spécifier
des paramètres complémentaires. Ainsi, chaque détecteur
peut-être paramétré de façon très
précise. Cela peut-être intéressant si vous
voulez fabriquer vos propres détecteur de fumée,
car en jouant sur ces réglages, vous pourrez tester vos
produits. Mais cela dépasse "un peu" le cadre
de ces cours d'initiation!
Ci-contre: vue de la pièce avec le détecteur
de fumée, d'après le code FDS ci-dessous.
|
/ Simulation Incendie
/ Cours 6.1 - FDS
/ Version 1.00 du 15-3-2007
/ Détecteur de fumée - PL Lamballais pour flashover.fr
/ Durée totale 5 minutes
&HEAD CHID='test_61',TITLE='Test Cours 6.1 pour flashover.fr'
/
&GRID IBAR=8,JBAR=8,KBAR=5 / Nombre de cellules en x, y,
z
&PDIM XBAR=4,YBAR=4,ZBAR=2.50 / Dimensions en mètres
&TIME TWFIN=300.0 / Durée de la simulation (300 =
5 min)
/ Combustible: bloc de mousse synthétique
&SURF ID = 'UPHOLSTERY'
FYI = 'Fleischmann and Chen, 100% acrylic'
C_DELTA_RHO = 1.29
TMPIGN = 280.
DENSITY = 40.0
RGB = 0.53,0.38,0.35
BURN_AWAY = .TRUE.
BURNING_RATE_MAX = 0.03
HEAT_OF_VAPORIZATION = 1500.
HEAT_OF_COMBUSTION = 30000. /
&SMOD XYZ=3.0,1.0,2.49,LENGTH=1.8,ACTIVATION_OBSCURATION=1.0,
LABEL='DECT1' / Détecteur de fumée
/ Bloc de mousse pour le feu
&OBST XB= 0.0,1.0,1.0,3.0,0.0,0.50, RGB=0.3,0.3,0.3, SURF_ID='UPHOLSTERY'
/
/ Fenetre pour ventiler le feu
&VENT XB=1.5,3.0,0.0,0.0,1.00,2.00, SURF_ID='OPEN' /
/ Source de chaleur sous la mousse
&PART ID='tracers',MASSLESS=.TRUE. /
&SURF ID='BURNER',PART_ID='tracers',HRRPUA=1000./ Ignition
source
&VENT XB= 0.5,1.5,2.5,3.5,0.0,0.0, SURF_ID='BURNER' /
&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é
|
Les détecteurs de chaleur
Le principe est le même que pour les détecteurs de
fumée. Le détecteur de chaleur est repéré
par ses coordonnées X,Y,Z et par un nom qui servira à
le repérer et l'utiliser comme déclencheur. Et cette
fois, ça marche !
&HEAT XYZ=3.0,5.6,2.3, ACTIVATION_TEMPERATURE=150.,LABEL='PORTE'
/
Le détecteur possède un paramètre ACTIVATION_TEMPERATURE,
qui indique la température (en °C) qui va déclencher
ce détecteur.
Dans l'exemple suivant, nous allons simuler la rupture d'une
fenêtre suite à l'augmentation de température.
Les différents documents sur le sujet donnent des indications
parfois très différentes. Ne s'agissant ici que
d'un exemple pour montrer le principe, nous réglerons notre
détecteur de température à 200°C. Lorsqu'il
se déclenchera, il provoquera la création d'un élément
HOLE sur la façade arrière du local, ce qui simulera
le bris de la fenêtre, par la chaleur.
En regardant ce code, vous remarquerez une variante pour l'objet
VENT, avec la ligne suivante :
&VENT CB='YBAR0', SURF_ID='OPEN' / |
Cette commande permet d'ouvrir totalement un VENT sur un de
ces plans (ici le plan YBAR0). Comme exercice, vous pouvez reprendre
le cours précédent et remplacer les ouvertures de
VENT qui étaient réalisés avec les coordonnées,
par ce système de plan.
|
A gauche, la pièce avant
que le détecteur de température ne soit activé.
A droite, la température a déclenché le
détecteur, la fenêtre a donc été crée. |
|
Exemple avec ouverture de fenêtre suite à une
détection de température.
/ Simulation Incendie
/ Cours 6.2 - FDS
/ Version 1.00 du 15-3-2007
/ Détecteur de température - PL Lamballais pour
flashover.fr
/ Durée totale 7 minutes
&HEAD CHID='test_62',TITLE='Test Cours 6.2 pour flashover.fr'
/
&GRID IBAR=8,JBAR=12,KBAR=5 / Nombre de cellules en x, y,
z
&PDIM XBAR=4,YBAR=6,ZBAR=2.50 / Dimensions en mètres
&TIME TWFIN=420.0 / Durée de la simulation (420 =
7 min)
/ Combustible: bloc de mousse synthétique
&SURF ID = 'UPHOLSTERY'
FYI = 'Fleischmann and Chen, 100% acrylic'
C_DELTA_RHO = 1.29
TMPIGN = 280.
DENSITY = 40.0
RGB = 0.53,0.38,0.35
BURN_AWAY = .TRUE.
BURNING_RATE_MAX = 0.03
HEAT_OF_VAPORIZATION = 1500.
HEAT_OF_COMBUSTION = 30000. /
/ Ouverture du VENT de façade pour l'extraction des
fumées
&VENT CB='YBAR0', SURF_ID='OPEN' /
&OBST XB= 0, 4, 2, 2.50, 0, 2.50 / Façade
&HOLE XB= 2.50,3.50,2,2.50,0,2 / Porte ouverte
&HEAT XYZ=1.50,2.50,2.00, ACTIVATION_TEMPERATURE=200.,LABEL='fenetre'
/ Détecteur de Temp.
/ Bloc de mousse pour le feu
&OBST XB= 1.0,3.0,5.0,6.0,0.0,0.50, RGB=0.3,0.3,0.3, SURF_ID='UPHOLSTERY'
/
/ Fenêtre brisée par la chaleur
&HOLE XB=0.5,2.00,2,2.50,1.00,2.00, HEAT_CREATE='fenetre'
/
/ Source de chaleur sous la mousse
&PART ID='tracers',MASSLESS=.TRUE. /
&SURF ID='BURNER',PART_ID='tracers',HRRPUA=1000./ Ignition
source
&VENT XB= 0.5,1.5,4.5,5.0,0.0,0.0, SURF_ID='BURNER' /
&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é
|
Les thermocouples
L'évolution d'un incendie met en jeu des différences
de pressions, de températures, de compositions gazeuses
etc... dans les cours précédents, nous avons vu
que FDS pouvait sauver de nombreuses informations par le biais
des fichiers « Plot3D ». Mais comme ces fichiers contiennent
des informations pour tout le volume, leur sauvegarde est longue,
complexe, et FDS n'en génère que de temps à
autre. Si nous souhaitons suivre précisément l'évolution
de température d'un point, le fichier Plot 3D ne suffira
pas donc pas. Dans la réalité d'une simulation,
nous plaçons des thermocouples, c'est-à-dire des
sortes de thermomètres qui vont mesurer la température
à un endroit précis. Dans FDS, nous ferons la même
chose. Le thermocouple se définit un peu comme le détecteur
de fumée ou de chaleur, avec des coordonnées X,
Y, Z. C'est un point qui effectuera une mesure, à chaque
tour de boucle du calcul. Un fichier sera généré
dans lequel seront stockées toutes les valeurs. Ce fichier
sera utilisable avec un tableur.
&THCP XYZ=0.5,2,2.5,QUANTITY='MASS
FLOW',LABEL='MON_THCP1' / |
Des thermocouples, pour mesurer quoi?
Dans le code du thermocouple, il y a un paramètre QUANTITY.
D'habitude, avec des thermocouples, nous mesurons la température.
Mais avec FDS, nous pouvons nous en servir pour mesurer autre
chose. Ainsi avec, QUANTITY='carbon dioxide' le thermocouple mesurera
le taux de dioxyde de carbone, avec QUANTITY='carbon monoxide',
il mesurera le monoxyde etc... Pour mesurer simplement la température,
nous mettons QUANTITY='TEMPERATURE'.
Format du fichier Thermocouples
Ce fichier s'appellera CHID_tc.csv (avec CHID valant la valeur
que vous aurez indiquée dans votre code). Il aura le format
suivant :
NTC
TIME , LABEL(1) , LABEL(2) , ... , LABEL(NTC)
TIME , QUANTITY(1) , QUANTITY(2) , ... , QUANTITY(NTC)
T(1) , TC(1,1) , TC(2,1) , ... , TC(NTC,1)
T(2) , TC(1,2) , TC(2,2) , ... , TC(NTC,2)
NTC = nombre de thermocouples. Vous pouvez en effet en placer
autant que vous voulez.
LABEL(1), LABEL(2) etc... ce sont les noms de vos thermocouples.
QUANTITY(1), QUANTITY(2) etc... ce sont les indications sur ce
qui a été mesuré
T(1), T(2), etc... ce sont les valeurs mesurées.
|
|
Dans l'exemple suivant, nous plaçons 8 thermocouples
:
- THCP1 : température juste en dessous de la fenêtre
- THCP2 : température juste au-dessus de la fenêtre
- THCP3 : monoxyde de carbone à 50cm du sol, centre
de la pièce
- THCP4 : monoxyde de carbone à 1m du sol, centre de
la pièce
- THCP5 : monoxyde de carbone à 1.50 m du sol, centre
de la pièce
- THCP6 : visibilité à 50cm du sol, à
1 m de la fenêtre
- THCP7 : visibilité à 1m du sol, à 1
m de la fenêtre
- THCP8 : visibilité à 1.50m du sol, à
1 m de la fenêtre
/ Simulation Incendie
/ Cours 6.3 - FDS
/ Version 1.00 du 15-3-2007
/ Thermocouples - PL Lamballais pour flashover.fr
/ Durée totale 7 minutes
&HEAD CHID='test_63',TITLE='Test Cours 6.3 pour flashover.fr'
/
&GRID IBAR=8,JBAR=8,KBAR=5 / Nombre de cellules en x, y,
z
&PDIM XBAR=4,YBAR=4,ZBAR=2.50 / Dimensions en mètres
&TIME TWFIN=420.0 / Durée de la simulation (420 =
7 min)
/ Combustible: bloc de mousse synthétique
&SURF ID = 'UPHOLSTERY'
FYI = 'Fleischmann and Chen, 100% acrylic'
C_DELTA_RHO = 1.29
TMPIGN = 280.
DENSITY = 40.0
RGB = 0.53,0.38,0.35
BURN_AWAY = .TRUE.
BURNING_RATE_MAX = 0.03
HEAT_OF_VAPORIZATION = 1500.
HEAT_OF_COMBUSTION = 30000. /
/ Bloc de mousse pour le feu
&OBST XB= 0.0,1.0,1.0,3.0,0.0,0.50, RGB=0.3,0.3,0.3, SURF_ID='UPHOLSTERY'
/
/ Fenetre pour ventiler le feu
&VENT XB=1.5,3.0,0.0,0.0,1.00,2.00, SURF_ID='OPEN' /
/ Source de chaleur sous la mousse
&PART ID='tracers',MASSLESS=.TRUE. /
&SURF ID='BURNER',PART_ID='tracers',HRRPUA=500./ Ignition
source
&VENT XB= 0.5,1.5,2.5,3.5,0.0,0.0, SURF_ID='BURNER' /
/ Les thermocouples
&THCP XYZ=2.50,0,1.50,QUANTITY='TEMPERATURE',LABEL='THCP1'
/
&THCP XYZ=2.50,0,2.00,QUANTITY='TEMPERATURE',LABEL='THCP2'
/
&THCP XYZ=2.50,2,0.50,QUANTITY='carbon monoxide',LABEL='THCP3'
/
&THCP XYZ=2.50,2,1.00,QUANTITY='carbon monoxide',LABEL='THCP4'
/
&THCP XYZ=2.50,2,1.50,QUANTITY='carbon monoxide',LABEL='THCP5'
/
&THCP XYZ=2.50,1,0.50,QUANTITY='visibility',LABEL='THCP6'
/
&THCP XYZ=2.50,1,1.00,QUANTITY='visibility',LABEL='THCP7'
/
&THCP XYZ=2.50,1,1.50,QUANTITY='visibility',LABEL='THCP8'
/
&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é
|
La prochaine fois
La prochaine fois, nous verrons la mise en place d'autres éléments
permettant d'effectuer des mesures sur tout un plan, et nous verrons
aussi comment modéliser un backdraft, ce qui nous permettra
de voir que. ça ne peut pas marcher dans la version 4 de
FDS !
|
Les commentaires anonymes ne sont pas autorisés, veuillez vous enregistrer
|
| |
Noter cet Article |
Score Moyen: 4.33 Votes: 6
|
|
|