FireDynamics / fdsreader

Python reader for FDS data
GNU General Public License v3.0
44 stars 18 forks source link

NoneType for a few data arrays of device #42

Closed LinhWuerzburger closed 2 years ago

LinhWuerzburger commented 2 years ago

I tried reading the data of a device. A few worked normally, but a few were of NoneType as shown in the picture below.

image

Taking a look at the _devc.csv file the data is displayed normally.

The following FDS file was used:

!! General configuration
&HEAD CHID='Corridor' TITLE='Test Case I ARTSS' /
&TIME T_BEGIN=0 /
&TIME T_END=3600 /

&REAC ID = 'propane reaction', SOOT_YIELD=0.1, CO_YIELD=0.05, FUEL='PROPANE'/
&MISC VISIBILITY_FACTOR=8.0/

!! Computational domain
!! &MESH XB=0, 5, 0, 4, 0, 2.4, IJK=100, 80, 48 /

&MESH ID='1' IJK=20,20,24 XB=0.0000,1.0000,0.0000,1.0000,0.0000,1.2000 /
&MESH ID='2' IJK=20,20,24 XB=0.0000,1.0000,0.0000,1.0000,1.2000,2.4000 /
&MESH ID='3' IJK=20,20,24 XB=0.0000,1.0000,1.0000,2.0000,0.0000,1.2000 /
&MESH ID='4' IJK=20,20,24 XB=0.0000,1.0000,1.0000,2.0000,1.2000,2.4000 /
&MESH ID='5' IJK=20,20,24 XB=0.0000,1.0000,2.0000,3.0000,0.0000,1.2000 /
&MESH ID='6' IJK=20,20,24 XB=0.0000,1.0000,2.0000,3.0000,1.2000,2.4000 /
&MESH ID='7' IJK=20,20,24 XB=0.0000,1.0000,3.0000,4.0000,0.0000,1.2000 /
&MESH ID='8' IJK=20,20,24 XB=0.0000,1.0000,3.0000,4.0000,1.2000,2.4000 /
&MESH ID='9' IJK=20,20,24 XB=1.0000,2.0000,0.0000,1.0000,0.0000,1.2000 /
&MESH ID='10' IJK=20,20,24 XB=1.0000,2.0000,0.0000,1.0000,1.2000,2.4000 /
&MESH ID='11' IJK=20,20,24 XB=1.0000,2.0000,1.0000,2.0000,0.0000,1.2000 /
&MESH ID='12' IJK=20,20,24 XB=1.0000,2.0000,1.0000,2.0000,1.2000,2.4000 /
&MESH ID='13' IJK=20,20,24 XB=1.0000,2.0000,2.0000,3.0000,0.0000,1.2000 /
&MESH ID='14' IJK=20,20,24 XB=1.0000,2.0000,2.0000,3.0000,1.2000,2.4000 /
&MESH ID='15' IJK=20,20,24 XB=1.0000,2.0000,3.0000,4.0000,0.0000,1.2000 /
&MESH ID='16' IJK=20,20,24 XB=1.0000,2.0000,3.0000,4.0000,1.2000,2.4000 /
&MESH ID='17' IJK=20,20,24 XB=2.0000,3.0000,0.0000,1.0000,0.0000,1.2000 /
&MESH ID='18' IJK=20,20,24 XB=2.0000,3.0000,0.0000,1.0000,1.2000,2.4000 /
&MESH ID='19' IJK=20,20,24 XB=2.0000,3.0000,1.0000,2.0000,0.0000,1.2000 /
&MESH ID='20' IJK=20,20,24 XB=2.0000,3.0000,1.0000,2.0000,1.2000,2.4000 /
&MESH ID='21' IJK=20,20,24 XB=2.0000,3.0000,2.0000,3.0000,0.0000,1.2000 /
&MESH ID='22' IJK=20,20,24 XB=2.0000,3.0000,2.0000,3.0000,1.2000,2.4000 /
&MESH ID='23' IJK=20,20,24 XB=2.0000,3.0000,3.0000,4.0000,0.0000,1.2000 /
&MESH ID='24' IJK=20,20,24 XB=2.0000,3.0000,3.0000,4.0000,1.2000,2.4000 /
&MESH ID='25' IJK=20,20,24 XB=3.0000,4.0000,0.0000,1.0000,0.0000,1.2000 /
&MESH ID='26' IJK=20,20,24 XB=3.0000,4.0000,0.0000,1.0000,1.2000,2.4000 /
&MESH ID='27' IJK=20,20,24 XB=3.0000,4.0000,1.0000,2.0000,0.0000,1.2000 /
&MESH ID='28' IJK=20,20,24 XB=3.0000,4.0000,1.0000,2.0000,1.2000,2.4000 /
&MESH ID='29' IJK=20,20,24 XB=3.0000,4.0000,2.0000,3.0000,0.0000,1.2000 /
&MESH ID='30' IJK=20,20,24 XB=3.0000,4.0000,2.0000,3.0000,1.2000,2.4000 /
&MESH ID='31' IJK=20,20,24 XB=3.0000,4.0000,3.0000,4.0000,0.0000,1.2000 /
&MESH ID='32' IJK=20,20,24 XB=3.0000,4.0000,3.0000,4.0000,1.2000,2.4000 /
&MESH ID='33' IJK=20,20,24 XB=4.0000,5.0000,0.0000,1.0000,0.0000,1.2000 /
&MESH ID='34' IJK=20,20,24 XB=4.0000,5.0000,0.0000,1.0000,1.2000,2.4000 /
&MESH ID='35' IJK=20,20,24 XB=4.0000,5.0000,1.0000,2.0000,0.0000,1.2000 /
&MESH ID='36' IJK=20,20,24 XB=4.0000,5.0000,1.0000,2.0000,1.2000,2.4000 /
&MESH ID='37' IJK=20,20,24 XB=4.0000,5.0000,2.0000,3.0000,0.0000,1.2000 /
&MESH ID='38' IJK=20,20,24 XB=4.0000,5.0000,2.0000,3.0000,1.2000,2.4000 /
&MESH ID='39' IJK=20,20,24 XB=4.0000,5.0000,3.0000,4.0000,0.0000,1.2000 /
&MESH ID='40' IJK=20,20,24 XB=4.0000,5.0000,3.0000,4.0000,1.2000,2.4000 /

!! &MESH XB=0, 20, 4, 6, 0, 2.4, IJK=100, 10, 12 /

&MESH ID='101' IJK=20,10,12 XB=0.0000,4.0000,4.0000,6.0000,0.0000,2.4000 /
&MESH ID='102' IJK=20,10,12 XB=4.0000,8.0000,4.0000,6.0000,0.0000,2.4000 /
&MESH ID='103' IJK=20,10,12 XB=8.0000,12.0000,4.0000,6.0000,0.0000,2.4000 /
&MESH ID='104' IJK=20,10,12 XB=12.0000,16.0000,4.0000,6.0000,0.0000,2.4000 /
&MESH ID='105' IJK=20,10,12 XB=16.0000,20.0000,4.0000,6.0000,0.0000,2.4000 /

!! &MESH XB=16, 20, 6, 12, 0, 2.4, IJK=20, 30, 12 /

&MESH ID='201' IJK=10,15,12 XB=16.0000,18.0000,6.0000,9.0000,0.0000,2.4000 /
&MESH ID='202' IJK=10,15,12 XB=16.0000,18.0000,9.0000,12.0000,0.0000,2.4000 /
&MESH ID='203' IJK=10,15,12 XB=18.0000,20.0000,6.0000,9.0000,0.0000,2.4000 /
&MESH ID='204' IJK=10,15,12 XB=18.0000,20.0000,9.0000,12.0000,0.0000,2.4000 /

!! Properties
&MATL ID='CONCRETE', CONDUCTIVITY=1.0, SPECIFIC_HEAT=0.88, DENSITY=2100 /
&MATL ID='CARPET', CONDUCTIVITY=1.0, SPECIFIC_HEAT=0.88, DENSITY=2100 /

&SURF ID='WALL', MATL_ID='CONCRETE', COLOR='GRAY', THICKNESS=0.1 /
&SURF ID='FLOOR', MATL_ID='CARPET', COLOR='BROWN', THICKNESS=0.1 /
&SURF ID='CEILING', MATL_ID='CONCRETE', COLOR='KHAKI', THICKNESS=0.1 /
&SURF ID='OPEN', COLOR='INVISIBLE' /

!! Solid geometry
&OBST XB=0, 5, 0, 0, 0, 2.4, SURF_ID='WALL' /
&OBST XB=5, 5, 0, 4, 0, 2.4, SURF_ID='WALL' /
&OBST XB=0, 0, 0, 6, 0, 2.4, SURF_ID='WALL' /

&OBST XB=20, 20, 4, 11, 0, 2.4, SURF_ID='WALL' /
&OBST XB=16, 16, 6, 11, 0, 2.4, SURF_ID='WALL' /
&OBST XB=16, 20, 11, 11, 0, 2.4, SURF_ID='WALL' /

&OBST XB=0, 20, 4, 4, 0, 2.4, SURF_ID='WALL' /
&OBST XB=0, 20, 6, 6, 0, 2.4, SURF_ID='WALL' /

&OBST XB=0, 20, 0, 11, 0, 0, SURF_ID='FLOOR' /
&OBST XB=0, 20, 0, 11, 2.4, 2.4, SURF_ID='CEILING' /

!! Vents
&VENT XB=20,20,11,12,0,2.4, SURF_ID='OPEN' /
&VENT XB=16,16,11,12,0,2.4, SURF_ID='OPEN' /
&VENT XB=16,20,12,12,0,2.4, SURF_ID='OPEN' /
&VENT XB=16,20,11,12,0,0, SURF_ID='OPEN' /
&VENT XB=16,20,11,12,2.4,2.4, SURF_ID='OPEN' /

!! Holes
&HOLE XB=3,4,3,5,0,2 /
&HOLE XB=18,19,5,7,0,2 /
&HOLE XB=17,17.6,10,12,1,1.8 /

!! Fire
&OBST XB=1, 2, 1.5, 2.5, 0, 0.1, SURF_ID='WALL' /
&VENT XB=1, 2, 1.5, 2.5, 0.1, 0.1, SURF_ID='FIRE', XYZ=2,1.5,0.1, SPREAD_RATE=0.03 /
&SURF ID='FIRE', HRRPUA=500.0/

!! Output
&PROP ID='SP-CORRIENTE', QUANTITY='SPRINKLER LINK TEMPERATURE', RTI=80.0, ACTIVATION_TEMPERATURE=68.0, SMOKEVIEW_ID='sprinkler_pendent' /

! Fire room
&DEVC ID='Temperatur11', XYZ=1,1,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple11', XYZ=1,1,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur21', XYZ=2,1,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple21', XYZ=2,1,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur31', XYZ=3,1,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple31', XYZ=3,1,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur41', XYZ=4,1,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple41', XYZ=4,1,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur12', XYZ=1,2,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple12', XYZ=1,2,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur22', XYZ=2,2,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple22', XYZ=2,2,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur32', XYZ=3,2,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple32', XYZ=3,2,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur42', XYZ=4,2,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple42', XYZ=4,2,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur13', XYZ=1,3,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple13', XYZ=1,3,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur23', XYZ=2,3,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple22', XYZ=2,3,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur33', XYZ=3,3,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple33', XYZ=3,3,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur43', XYZ=4,3,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple43', XYZ=4,3,2.2, PROP_ID='SP-CORRIENTE'/

! Corridor
&DEVC ID='Temperatur14', XYZ=1,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple14', XYZ=1,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur24', XYZ=3,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple24', XYZ=3,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur34', XYZ=5,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple34', XYZ=5,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur44', XYZ=7,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple44', XYZ=7,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur54', XYZ=9,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple54', XYZ=9,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur64', XYZ=11,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple64', XYZ=11,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur74', XYZ=13,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple74', XYZ=13,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur84', XYZ=15,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple84', XYZ=15,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur94', XYZ=17,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple94', XYZ=17,5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur104', XYZ=19,5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple104', XYZ=19,5,2.2, PROP_ID='SP-CORRIENTE'/

! Fill Room
&DEVC ID='Temperatur15', XYZ=17,7,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple15', XYZ=17,7,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur25', XYZ=19,7,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple25', XYZ=19,7,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur16', XYZ=17,8.5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple16', XYZ=17,8.5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur26', XYZ=19,8.5,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple26', XYZ=19,8.5,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur17', XYZ=17,10,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple17', XYZ=17,10,2.2, PROP_ID='SP-CORRIENTE'/

&DEVC ID='Temperatur27', XYZ=19,10,2.2, QUANTITY='TEMPERATURE'/
&DEVC ID='Thermocouple27', XYZ=19,10,2.2, PROP_ID='SP-CORRIENTE'/

&TAIL /
JanVogelsang commented 2 years ago

The FDS-file contains a typo which leads to an error that FDS for some reason does not catch when reading the file. The ID "Thermocouple22" was assigned twice, which confuses the reader as IDs are supposed to be unique.

To not entirely fail in these situations, the fdsreader does now combine the data of both devices with the same ID into a single device.