Kategoriarkiv: Fire Dynamics Simulator (FDS)

Ett riktigt ljushuvud

ljushuvud_blogg

En snubbe skrev till FDS and Smokeview Discussions och undrade vad det var för fel med hans simulering. FDS kunde helt enkelt inte starta… Han vill simulera ett stearinljus och så här ser delar av indatafilen ut:

  &MESH IJK=8, 8, 8, XB = 0.0, 40.0, 0.0, 100.0, 0.0, 80.0 /
  &MESH IJK=4, 4, 8, XB = 40.0, 60.0, 0.0, 100.0 ,0.0, 80.0 /

Snyggt! En grid i x-led på 40 m med 4-8 celler. Värre blir det i y-led med 4-8 celler på 100 m. En cellsida på upp till 25 m ska väl inte vara något problem. Det blir nästan ännu roligare när vi ser beskrivningen på själva ljuset:

  &OBST XB=45.0, 55.0, 45.0, 55.0, 0.0, 20.0, SURF_ID=’CANDLE’ / wax of candle
  &OBST XB=48.0, 52.0, 48.0, 52.0, 20.0, 32.0, SURF_ID=’WICKCANDLE’ / wick of candle

Ljuset blev ganska stort, sisådär 10 x 10 m till ytan och 20 m högt med tillhörande vecke på 4 x 4 m med en höjd på 12 m. C:a 409 MW skulle det bli med angivet värde på HRRPUA.

Det värsta av allt är nog att NIST:s Dr.Jason Floyd faktiskt besvärar sig med att besvara frågor som denna. Hur ska vi göra för att få bort användare som Gan från fältmodellering?

PS / Är du intresserad av ljus och hur de brinner. Ta en titt på “Characterization of Candle Flames” / DS

Ny favoritfunktion i FDS

För några veckor sedan började jag använda funktionen ”STATISTICS” i FDS och kan med den ta fram t.ex. medeltemperaturen i en viss volym av byggnaden. Funktionen kan också kopplas till ett ”CTRL” kommando där FDS kan avbryta simuleringen om ett visst värde på exempelvis medeltemperaturen överskrids.

För närvarande använder jag dessa funktioner när jag försöker se hur vida en viss brand kan ge övertändning eller inte. I mitt fall handlar det om att avgöra om en viss brandstorlek kan orsaka en övergång till en okontrollerad brandspridning. För att detta ska kunna ske krävs att brandspridning också sker genom att brandgaslagret får en temperatur där strålningen mot golv överstiger 20 kW/m2. Jag använder statistikfunktionen i FDS för att logga medeltemperaturen i en volym längs med taket (ganska nära branden). Om medeltemperaturen i denna volym överstiger 500 C så blir strålningen mot golvet för stor och brandspridning sker. När temperaturen överskrids skapas en restartfil och FDS stänger ner. Syntaxen i FDS kan se ut som följer:

DEVC ID=’Temperature_MEAN’, QUANTITY=’TEMPERATURE’, STATISTICS=’MEAN’, SETPOINT=500., XB=x1,x2,y1,y2,z1,z2 /
&CTRL ID=’Kill’, FUNCTION_TYPE=’KILL’, INPUT_ID=’Temperature_MEAN’ /

Jag vill också passa på att nämna att aktuell version av Pyrosim (2008.1) har en bugg som gör att indata till FDS för STATISTICS blir felaktig. För att komma runt detta så använd syntax enligt ovan och lägg in del i ”Additional Records” i ”Record View” i Pyrosim.

Hardcore CFD-läsning

Simo Hostikka, en av de tyngre namnen i utvecklingen av FDS har skrivit en doktorsavhandling med den tunga titeln ”Development of fire simulation models for radiative heat transfer and probabilistic risk assessment”. Simo skriver nästan lättläst om skillnader mellan RANS och LES samt en hel del matnyttigt om de submodeller som bygger upp en CFD-kod. Det är defintivt en ”bör läsa”-varning på denna nätta avhandling på 108 sidor.

Dalmarnock Fire Tests

University of Edinburgh genomförde under 2007 några brandförsök i storskala (Dalmarnock Fire Tests) för att undersöka hur väl våra ingenjörsverktyg är validerade och vilka svårigheter som finns i modelleringen. Dokumentationen från försöken finns tillänglig på nätet och två av de mest intessanta avsnitten är:

A Priori Modelling of Fire Test One
Posteriori Modelling of Fire Test One

Ska du bara läsa en av ovanstående så koncentrera dig på ”priori modelling”. Här har åtta simuleringar gjorts med lite olika modeller för att försöka få en bild av brandförloppet i en lägenhet. Resultatets spridning är faktiskt ganska skrämmande, även om det inte förvånar särskilt mycket

Glöm inte kontrollera D*/dx

Innan du drar igång en beräkning i FDS måste du kontrollera visa kvalitetsparametrar. En av de viktigaste är D*/dx, vilket är ett mått på brandens upplösning och anger hur många celler som branden karakteristiska diameter upptar.
D 
Ett lämpligt värde på D*/dx att börja med är 10. Beroende på syftet med simuleringen så kan det fungera både med högre och lägre värden. Fast det troliga är att du bör närma sig 15-20 för att flamman ska återges korrekt i form av höjd och temperatur.

I den uppdaterade manualen till FDS 5.1.6 har det kommit till en hel del matnyttigt om hur du ska hantera gridindelning mm. Läs den och använd alltid den senaste versionen av FDS.

Gridkoll på riktigt

I helgen som gick installerade jag mina fyra nya beräkningsdatorer, vilka fick namnen Bernoulli, Volterra, Cauchy och Gauss. Med ytterligare 16 GB internminne har jag nu tillsammans med Newton och Euler totalt 20 GB i mitt beräkningskluster. För mig innebär det högre kapacitet – antingen i form av snabbare simuleringar eller att jag har möjlighet att räkna på riktigt tunga jobb.

De kommande dagarna tänkte jag låta tre av datorerna jobba med en kontroll av gridoberoendet för en av beräkningarna i Boden galleria (åt WSP Brand- och Riskteknik). I min ursprungliga beräkning har jag celler med ett genomsnitt på 0,3 x 0,3 x 0,2, undantaget utrymmen nära branden och nära fläktarna där upplösningen är betydligt bättre. Detta ger totalt 1,3 miljoner celler. Nu väljer jag i stället en cell med genomsnittet 0,15 x 0,15 x 0,1, vilket ger mig totalt 6,7 miljoner celler. Kanske en av mina mer utmanande beräkningar.

Av någon anledning så väljer FDS5 att allokera mer minne än tidigare versioner. Nästan det dubbla faktiskt. Jag räknar därför med att min kontroll av gridoberoendet kräver totalt 13 GB internminne. Ganska  maffigt. Återkommer med erfarenheter lite senare…