02 Parsing Existing CFAST Input Files#

This example explains how to use PyCFASTโ€™s parser to read and analyze existing CFAST input files (.in) to a CFASTModel object. This allows users to use their existing models, modify them, and re-run simulations with minimal effort.

Step 1: Import Necessary Components#

Weโ€™ll import the parser components and other utilities we need.

import os

from pycfast import MaterialProperties
from pycfast.parsers import parse_cfast_file

Step 2: Parse CFAST File#

The parse_cfast_file() is a convenience function to parse input CFAST files. Here we will parse the PRISME D1 input file for demonstration purposes.

model = parse_cfast_file(r"data/PRS_D1.in", r"parsed_PRS_D1.in")

# Saving locally the parsed model
model.save()

print(f"\nView of the input file parsed: \n{model.view_cfast_input_file()}")
View of the input file parsed:
   1: &HEAD VERSION = 7700 TITLE = 'PRISME DOOR 1' /
   2:
   3: !! Scenario Configuration
   4: &TIME SIMULATION = 1800 PRINT = 50 SMOKEVIEW = 10 SPREADSHEET = 10 /
   5: &INIT PRESSURE = 100805 RELATIVE_HUMIDITY = 50 INTERIOR_TEMPERATURE = 25 EXTERIOR_TEMPERATURE = 25 /
   6:
   7: !! Material Properties
   8: &MATL ID = 'Wool' MATERIAL = 'Rock Wool' CONDUCTIVITY = 0.102 DENSITY = 140.0 SPECIFIC_HEAT = 0.84 THICKNESS = 0.05 EMISSIVITY = 0.95 /
   9: &MATL ID = 'CONCRETE' MATERIAL = 'CONCRETE' CONDUCTIVITY = 1.5 DENSITY = 2430.0 SPECIFIC_HEAT = 0.736 THICKNESS = 0.3 EMISSIVITY = 0.7 /
  10: &MATL ID = 'ConTarg' MATERIAL = 'Concrete Target' CONDUCTIVITY = 1.5 DENSITY = 2430.0 SPECIFIC_HEAT = 0.736 THICKNESS = 0.3 EMISSIVITY = 0.94 /
  11: &MATL ID = 'PVC_ROD' MATERIAL = 'PVC Rod' CONDUCTIVITY = 0.15 DENSITY = 1380.0 SPECIFIC_HEAT = 1.548 THICKNESS = 0.025 EMISSIVITY = 1.0 /
  12: &MATL ID = 'Steel' MATERIAL = 'Steel' CONDUCTIVITY = 45.8 DENSITY = 7850.0 SPECIFIC_HEAT = 0.46 THICKNESS = 0.005 EMISSIVITY = 0.9 /
  13:
  14: !! Compartments
  15: &COMP ID = 'Comp 1' DEPTH = 6.0 HEIGHT = 4.0 WIDTH = 5.0 CEILING_MATL_ID = 'Wool' CEILING_THICKNESS = 0.05 WALL_MATL_ID = 'CONCRETE' WALL_THICKNESS = 0.3 FLOOR_MATL_ID = 'CONCRETE' FLOOR_THICKNESS = 0.3 ORIGIN = 0, 0, 0 GRID = 50, 50, 50 /
  16: &COMP ID = 'Comp 2' DEPTH = 6.0 HEIGHT = 4.0 WIDTH = 5.0 CEILING_MATL_ID = 'Wool' CEILING_THICKNESS = 0.05 WALL_MATL_ID = 'CONCRETE' WALL_THICKNESS = 0.3 FLOOR_MATL_ID = 'CONCRETE' FLOOR_THICKNESS = 0.3 ORIGIN = 5, 0, 0 GRID = 50, 50, 50 /
  17:
  18: !! Wall Vents
  19: &VENT TYPE = 'WALL' ID = 'WallVent_1' COMP_IDS = 'Comp 1', 'Comp 2' BOTTOM = 0.0 HEIGHT = 2.15 WIDTH = 0.72 FACE = 'RIGHT' OFFSET = 2.64 /
  20: &VENT TYPE = 'WALL' ID = 'WallVent_2' COMP_IDS = 'Comp 1', 'OUTSIDE' BOTTOM = 3.9932 HEIGHT = 0.00680000000000014 WIDTH = 1.0 FACE = 'FRONT' OFFSET = 2.495 /
  21: &VENT TYPE = 'WALL' ID = 'WallVent_3' COMP_IDS = 'Comp 2', 'OUTSIDE' BOTTOM = 3.9932 HEIGHT = 0.00680000000000014 WIDTH = 1.0 FACE = 'FRONT' OFFSET = 2.495 /
  22:
  23: !! Ceiling and Floor Vents
  24:
  25: !! Mechanical Vents
  26: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_1' COMP_IDS = 'OUTSIDE', 'Comp 1' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  27: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_2' COMP_IDS = 'OUTSIDE', 'Comp 2' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  28: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_3' COMP_IDS = 'Comp 1', 'OUTSIDE' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  29: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_4' COMP_IDS = 'Comp 2', 'OUTSIDE' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.28 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  30:
  31: !! Fires
  32: &FIRE ID = 'Tetra-Propylene' COMP_ID = 'Comp 1' FIRE_ID = 'Tetra-Propylene_Fire' LOCATION = 2.5, 3 /
  33: &CHEM ID = 'Tetra-Propylene_Fire' CARBON = 12.0 CHLORINE = 0.0 HYDROGEN = 26.0 NITROGEN = 0.0 OXYGEN = 0.0 HEAT_OF_COMBUSTION = 40000.0 RADIATIVE_FRACTION = 0.35 /
  34: &TABL ID = 'Tetra-Propylene_Fire' LABELS = 'TIME', 'HRR', 'HEIGHT', 'AREA', 'CO_YIELD', 'SOOT_YIELD', 'HCN_YIELD', 'HCL_YIELD', 'TRACE_YIELD' /
  35: &TABL ID = 'Tetra-Propylene_Fire' DATA = 0, 0, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  36: &TABL ID = 'Tetra-Propylene_Fire' DATA = 16, 16, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  37: &TABL ID = 'Tetra-Propylene_Fire' DATA = 74, 289, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  38: &TABL ID = 'Tetra-Propylene_Fire' DATA = 151, 331, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  39: &TABL ID = 'Tetra-Propylene_Fire' DATA = 214, 494, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  40: &TABL ID = 'Tetra-Propylene_Fire' DATA = 275, 507, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  41: &TABL ID = 'Tetra-Propylene_Fire' DATA = 323, 509, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  42: &TABL ID = 'Tetra-Propylene_Fire' DATA = 359, 498, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  43: &TABL ID = 'Tetra-Propylene_Fire' DATA = 442, 392, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  44: &TABL ID = 'Tetra-Propylene_Fire' DATA = 499, 293, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  45: &TABL ID = 'Tetra-Propylene_Fire' DATA = 568, 233, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  46: &TABL ID = 'Tetra-Propylene_Fire' DATA = 654, 213, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  47: &TABL ID = 'Tetra-Propylene_Fire' DATA = 774, 180, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  48: &TABL ID = 'Tetra-Propylene_Fire' DATA = 855, 144, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  49: &TABL ID = 'Tetra-Propylene_Fire' DATA = 895, 88, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  50: &TABL ID = 'Tetra-Propylene_Fire' DATA = 913, 22, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  51: &TABL ID = 'Tetra-Propylene_Fire' DATA = 972, 13, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  52: &TABL ID = 'Tetra-Propylene_Fire' DATA = 1796, 0, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  53:
  54: !! Devices
  55: &DEVC ID = 'FLT_L1_NE040' COMP_ID = 'Comp 1' LOCATION = 4, 6, 0.4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  56: &DEVC ID = 'FLT_L1_NE155' COMP_ID = 'Comp 1' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  57: &DEVC ID = 'FLT_L1_NE265' COMP_ID = 'Comp 1' LOCATION = 4, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  58: &DEVC ID = 'FLT_L1_NE355' COMP_ID = 'Comp 1' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  59: &DEVC ID = 'FLT_L1_WC265' COMP_ID = 'Comp 1' LOCATION = 0, 3, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  60: &DEVC ID = 'FLT_L1_NC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  61: &DEVC ID = 'FLT_L1_EC265' COMP_ID = 'Comp 1' LOCATION = 5, 3, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  62: &DEVC ID = 'FLT_L1_SC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 0, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  63: &DEVC ID = 'FLT_L1_PL_CE' COMP_ID = 'Comp 1' LOCATION = 4.38, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  64: &DEVC ID = 'FLT_L1_SOL_CE' COMP_ID = 'Comp 1' LOCATION = 3.75, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  65: &DEVC ID = 'FLT_L2_NE030' COMP_ID = 'Comp 2' LOCATION = 4, 6, 0.3 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  66: &DEVC ID = 'FLT_L2_NE155' COMP_ID = 'Comp 2' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  67: &DEVC ID = 'FLT_L2_NE260' COMP_ID = 'Comp 2' LOCATION = 4, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  68: &DEVC ID = 'FLT_L2_NE355' COMP_ID = 'Comp 2' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  69: &DEVC ID = 'FLT_L2_WC260' COMP_ID = 'Comp 2' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  70: &DEVC ID = 'FLT_L2_NC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  71: &DEVC ID = 'FLT_L2_EC260' COMP_ID = 'Comp 2' LOCATION = 5, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  72: &DEVC ID = 'FLT_L2_SC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 0, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  73: &DEVC ID = 'FLT_L2_PL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  74: &DEVC ID = 'FLT_L2_SOL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  75: &DEVC ID = 'TP_L1_NE040' COMP_ID = 'Comp 1' LOCATION = 4, 6, 0.4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  76: &DEVC ID = 'TP_L1_NE155' COMP_ID = 'Comp 1' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  77: &DEVC ID = 'TP_L1_NE265' COMP_ID = 'Comp 1' LOCATION = 4, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  78: &DEVC ID = 'TP_L1_NE355' COMP_ID = 'Comp 1' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  79: &DEVC ID = 'TP_L1_WC260' COMP_ID = 'Comp 1' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  80: &DEVC ID = 'TP_L1_NC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  81: &DEVC ID = 'TP_L1_EC255' COMP_ID = 'Comp 1' LOCATION = 5, 3, 2.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  82: &DEVC ID = 'TP_L1_SC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 0, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  83: &DEVC ID = 'TP_L1_PL_CE' COMP_ID = 'Comp 1' LOCATION = 4.38, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  84: &DEVC ID = 'TP_L2_NE030' COMP_ID = 'Comp 2' LOCATION = 4, 6, 0.3 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  85: &DEVC ID = 'TP_L2_NE155' COMP_ID = 'Comp 2' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  86: &DEVC ID = 'TP_L2_NE260' COMP_ID = 'Comp 2' LOCATION = 4, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  87: &DEVC ID = 'TP_L2_NE355' COMP_ID = 'Comp 2' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  88: &DEVC ID = 'TP_L2_WC260' COMP_ID = 'Comp 2' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  89: &DEVC ID = 'TP_L2_NC265' COMP_ID = 'Comp 2' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  90: &DEVC ID = 'TP_L2_EC260' COMP_ID = 'Comp 2' LOCATION = 5, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  91: &DEVC ID = 'TP_L2_SC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 0, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  92: &DEVC ID = 'TP_L2_PL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  93: &DEVC ID = 'TP_L2_SOL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  94: &DEVC ID = 'TCA_L1_BW_SURF' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
  95: &DEVC ID = 'TCA_L1_BW_INTER' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
  96: &DEVC ID = 'TCA_L1_BW_CENTRE' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
  97: &DEVC ID = 'TCA_L1_HW_SURF' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
  98: &DEVC ID = 'TCA_L1_HW_INTER' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
  99: &DEVC ID = 'TCA_L1_HW_CENTRE' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 100: &DEVC ID = 'TCA_L2_BE_SURF' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 101: &DEVC ID = 'TCA_L2_BE_INTER' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 102: &DEVC ID = 'TCA_L2_BE_CENTRE' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 103: &DEVC ID = 'TCA_L2_HE_SURF' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 104: &DEVC ID = 'TCA_L2_HE_INTER' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 105: &DEVC ID = 'TCA_L2_HE_CENTRE' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 106: &DEVC ID = 'TCA_L2_HW_SURF' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 107: &DEVC ID = 'TCA_L2_HW_INTER' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 108: &DEVC ID = 'TCA_L2_HW_CENTRE' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 109: &DEVC ID = 'TG_L1_NW_390' COMP_ID = 'Comp 1' LOCATION = 1.25, 4.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 110: &DEVC ID = 'TG_L1_SE_390' COMP_ID = 'Comp 1' LOCATION = 3.75, 1.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 111: &DEVC ID = 'TG_L2_NE_390' COMP_ID = 'Comp 2' LOCATION = 3.55, 4.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 112: &DEVC ID = 'TG_L2_CC_390' COMP_ID = 'Comp 2' LOCATION = 2.3, 3, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 113: &DEVC ID = 'TG_L2_SW_390' COMP_ID = 'Comp 2' LOCATION = 1.05, 1.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 114:
 115: !! Surface Connections
 116:
 117: &TAIL /

Note

When importing an existing model, ensure that all component names (such as TITLE, MATERIAL, ID, etc.) use only alphanumeric characters. Avoid special characters like quotes and slashes, as these may cause parsing issues and will be automatically sanitized where possible.

For example, avoid including special characters (e.g., Material_1 will be parsed, but Material/1 '1/4' in is not).

You can inspect the parsed model with the card below.

model
๐Ÿ”ฅ

CFAST Model

parsed_PRS_D1.in

Total Components: 74
Simulation: PRISME DOOR 1
Duration: 30 min
Compartments (2)
  • Comp 1: 5.0ร—6.0ร—4.0 m
  • Comp 2: 5.0ร—6.0ร—4.0 m
Fires (1)
  • Tetra-Propylene in Comp 1: Tetra-Propylene_Fire
Ventilation (7)
  • WallVent_1 (Wall): Comp 1 โ†” Comp 2
  • WallVent_2 (Wall): Comp 1 โ†” OUTSIDE
  • WallVent_3 (Wall): Comp 2 โ†” OUTSIDE
  • MechanicalVent_1 (Mechanical): OUTSIDE โ†’ Comp 1
  • MechanicalVent_2 (Mechanical): OUTSIDE โ†’ Comp 2
  • MechanicalVent_3 (Mechanical): Comp 1 โ†’ OUTSIDE
  • MechanicalVent_4 (Mechanical): Comp 2 โ†’ OUTSIDE
Devices (59)
  • FLT_L1_NE040 in Comp 1: PLATE
  • FLT_L1_NE155 in Comp 1: PLATE
  • FLT_L1_NE265 in Comp 1: PLATE
  • FLT_L1_NE355 in Comp 1: PLATE
  • FLT_L1_WC265 in Comp 1: PLATE
  • FLT_L1_NC265 in Comp 1: PLATE
  • FLT_L1_EC265 in Comp 1: PLATE
  • FLT_L1_SC265 in Comp 1: PLATE
  • FLT_L1_PL_CE in Comp 1: PLATE
  • FLT_L1_SOL_CE in Comp 1: PLATE
  • FLT_L2_NE030 in Comp 2: PLATE
  • FLT_L2_NE155 in Comp 2: PLATE
  • FLT_L2_NE260 in Comp 2: PLATE
  • FLT_L2_NE355 in Comp 2: PLATE
  • FLT_L2_WC260 in Comp 2: PLATE
  • FLT_L2_NC260 in Comp 2: PLATE
  • FLT_L2_EC260 in Comp 2: PLATE
  • FLT_L2_SC260 in Comp 2: PLATE
  • FLT_L2_PL_CE in Comp 2: PLATE
  • FLT_L2_SOL_CE in Comp 2: PLATE
  • TP_L1_NE040 in Comp 1: PLATE
  • TP_L1_NE155 in Comp 1: PLATE
  • TP_L1_NE265 in Comp 1: PLATE
  • TP_L1_NE355 in Comp 1: PLATE
  • TP_L1_WC260 in Comp 1: PLATE
  • TP_L1_NC265 in Comp 1: PLATE
  • TP_L1_EC255 in Comp 1: PLATE
  • TP_L1_SC265 in Comp 1: PLATE
  • TP_L1_PL_CE in Comp 1: PLATE
  • TP_L2_NE030 in Comp 2: PLATE
  • TP_L2_NE155 in Comp 2: PLATE
  • TP_L2_NE260 in Comp 2: PLATE
  • TP_L2_NE355 in Comp 2: PLATE
  • TP_L2_WC260 in Comp 2: PLATE
  • TP_L2_NC265 in Comp 2: PLATE
  • TP_L2_EC260 in Comp 2: PLATE
  • TP_L2_SC260 in Comp 2: PLATE
  • TP_L2_PL_CE in Comp 2: PLATE
  • TP_L2_SOL_CE in Comp 2: PLATE
  • TCA_L1_BW_SURF in Comp 1: CYLINDER
  • TCA_L1_BW_INTER in Comp 1: CYLINDER
  • TCA_L1_BW_CENTRE in Comp 1: CYLINDER
  • TCA_L1_HW_SURF in Comp 1: CYLINDER
  • TCA_L1_HW_INTER in Comp 1: CYLINDER
  • TCA_L1_HW_CENTRE in Comp 1: CYLINDER
  • TCA_L2_BE_SURF in Comp 2: CYLINDER
  • TCA_L2_BE_INTER in Comp 2: CYLINDER
  • TCA_L2_BE_CENTRE in Comp 2: CYLINDER
  • TCA_L2_HE_SURF in Comp 2: CYLINDER
  • TCA_L2_HE_INTER in Comp 2: CYLINDER
  • TCA_L2_HE_CENTRE in Comp 2: CYLINDER
  • TCA_L2_HW_SURF in Comp 2: CYLINDER
  • TCA_L2_HW_INTER in Comp 2: CYLINDER
  • TCA_L2_HW_CENTRE in Comp 2: CYLINDER
  • TG_L1_NW_390 in Comp 1: PLATE
  • TG_L1_SE_390 in Comp 1: PLATE
  • TG_L2_NE_390 in Comp 2: PLATE
  • TG_L2_CC_390 in Comp 2: PLATE
  • TG_L2_SW_390 in Comp 2: PLATE
Materials (5)
  • Wool: Rock Wool
  • CONCRETE: CONCRETE
  • ConTarg: Concrete Target
  • PVC_ROD: PVC Rod
  • Steel: Steel


Step 3: Explore Parsed Components#

Once parsed, you can easily inspect all model components using their built-in string representations or the summary() method.

print(f"Model: {model}")

model.summary()
Model: CFAST Fire Model 'parsed_PRS_D1.in'
  Compartments: 2
  Fires: 1
  Vents: 3 wall, 0 ceiling/floor, 4 mechanical
  Devices: 59
  Materials: 5
  Surface Connections: 0
  Total components: 74

Model: parsed_PRS_D1.in
Simulation: 'PRISME DOOR 1' (1800s)

Components:
  Material Properties (5):
    Material 'Wool' (Rock Wool): k=0.102, ฯ=140.0, c=0.84, t=0.05, ฮต=0.95
    Material 'CONCRETE' (CONCRETE): k=1.5, ฯ=2430.0, c=0.736, t=0.3, ฮต=0.7
    Material 'ConTarg' (Concrete Target): k=1.5, ฯ=2430.0, c=0.736, t=0.3, ฮต=0.94
    Material 'PVC_ROD' (PVC Rod): k=0.15, ฯ=1380.0, c=1.548, t=0.025, ฮต=1.0
    Material 'Steel' (Steel): k=45.8, ฯ=7850.0, c=0.46, t=0.005, ฮต=0.9
  Compartments (2):
    Compartment 'Comp 1': 5.0x6.0x4.0 m, volume: 120.00 mยณ (ceiling: Wool, wall: CONCRETE, floor: CONCRETE)
    Compartment 'Comp 2': 5.0x6.0x4.0 m, volume: 120.00 mยณ (ceiling: Wool, wall: CONCRETE, floor: CONCRETE)
  Wall Vents (3):
    Wall Vent 'WallVent_1': Comp 1 โ†” Comp 2, 0.72x2.15 m, bottom: 0.0 m
    Wall Vent 'WallVent_2': Comp 1 โ†” OUTSIDE, 1.0x0.00680000000000014 m, bottom: 3.9932 m
    Wall Vent 'WallVent_3': Comp 2 โ†” OUTSIDE, 1.0x0.00680000000000014 m, bottom: 3.9932 m
  Mechanical Vents (4):
    Mechanical Vent 'MechanicalVent_1': OUTSIDE -> Comp 1, flow: 0.0 mยณ/s
    Mechanical Vent 'MechanicalVent_2': OUTSIDE -> Comp 2, flow: 0.0 mยณ/s
    Mechanical Vent 'MechanicalVent_3': Comp 1 -> OUTSIDE, flow: 0.0 mยณ/s
    Mechanical Vent 'MechanicalVent_4': Comp 2 -> OUTSIDE, flow: 0.28 mยณ/s
  Fires (1):
    Fire 'Tetra-Propylene' (Tetra-Propylene_Fire) in 'Comp 1' at (2.5, 3) (peak: 509 W, duration: 30min, ฯ‡r: 0.35)
  Devices (59):
    Target 'FLT_L1_NE040' (PLATE) in 'Comp 1' at (4, 6, 0.4) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_NE155' (PLATE) in 'Comp 1' at (4, 6, 1.55) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_NE265' (PLATE) in 'Comp 1' at (4, 6, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_NE355' (PLATE) in 'Comp 1' at (4, 6, 3.55) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_WC265' (PLATE) in 'Comp 1' at (0, 3, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_NC265' (PLATE) in 'Comp 1' at (2.5, 6, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_EC265' (PLATE) in 'Comp 1' at (5, 3, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_SC265' (PLATE) in 'Comp 1' at (2.5, 0, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_PL_CE' (PLATE) in 'Comp 1' at (4.38, 3, 4) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L1_SOL_CE' (PLATE) in 'Comp 1' at (3.75, 3, 0) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_NE030' (PLATE) in 'Comp 2' at (4, 6, 0.3) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_NE155' (PLATE) in 'Comp 2' at (4, 6, 1.55) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_NE260' (PLATE) in 'Comp 2' at (4, 6, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_NE355' (PLATE) in 'Comp 2' at (4, 6, 3.55) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_WC260' (PLATE) in 'Comp 2' at (0, 3, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_NC260' (PLATE) in 'Comp 2' at (2.5, 6, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_EC260' (PLATE) in 'Comp 2' at (5, 3, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_SC260' (PLATE) in 'Comp 2' at (2.5, 0, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_PL_CE' (PLATE) in 'Comp 2' at (3.8, 3, 4) (material: ConTarg, depth: 0.15m)
    Target 'FLT_L2_SOL_CE' (PLATE) in 'Comp 2' at (3.8, 3, 0) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_NE040' (PLATE) in 'Comp 1' at (4, 6, 0.4) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_NE155' (PLATE) in 'Comp 1' at (4, 6, 1.55) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_NE265' (PLATE) in 'Comp 1' at (4, 6, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_NE355' (PLATE) in 'Comp 1' at (4, 6, 3.55) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_WC260' (PLATE) in 'Comp 1' at (0, 3, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_NC265' (PLATE) in 'Comp 1' at (2.5, 6, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_EC255' (PLATE) in 'Comp 1' at (5, 3, 2.55) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_SC265' (PLATE) in 'Comp 1' at (2.5, 0, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'TP_L1_PL_CE' (PLATE) in 'Comp 1' at (4.38, 3, 4) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_NE030' (PLATE) in 'Comp 2' at (4, 6, 0.3) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_NE155' (PLATE) in 'Comp 2' at (4, 6, 1.55) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_NE260' (PLATE) in 'Comp 2' at (4, 6, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_NE355' (PLATE) in 'Comp 2' at (4, 6, 3.55) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_WC260' (PLATE) in 'Comp 2' at (0, 3, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_NC265' (PLATE) in 'Comp 2' at (2.5, 6, 2.65) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_EC260' (PLATE) in 'Comp 2' at (5, 3, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_SC260' (PLATE) in 'Comp 2' at (2.5, 0, 2.6) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_PL_CE' (PLATE) in 'Comp 2' at (3.8, 3, 4) (material: ConTarg, depth: 0.15m)
    Target 'TP_L2_SOL_CE' (PLATE) in 'Comp 2' at (3.8, 3, 0) (material: ConTarg, depth: 0.15m)
    Target 'TCA_L1_BW_SURF' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 0.6) (material: PVC_ROD, depth: 0.001m)
    Target 'TCA_L1_BW_INTER' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 0.6) (material: PVC_ROD, depth: 0.006m)
    Target 'TCA_L1_BW_CENTRE' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 0.6) (material: PVC_ROD, depth: 0.0125m)
    Target 'TCA_L1_HW_SURF' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.001m)
    Target 'TCA_L1_HW_INTER' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.006m)
    Target 'TCA_L1_HW_CENTRE' (CYLINDER) in 'Comp 1' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.0125m)
    Target 'TCA_L2_BE_SURF' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 0.6) (material: PVC_ROD, depth: 0.001m)
    Target 'TCA_L2_BE_INTER' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 0.6) (material: PVC_ROD, depth: 0.006m)
    Target 'TCA_L2_BE_CENTRE' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 0.6) (material: PVC_ROD, depth: 0.0125m)
    Target 'TCA_L2_HE_SURF' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 3.6) (material: PVC_ROD, depth: 0.001m)
    Target 'TCA_L2_HE_INTER' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 3.6) (material: PVC_ROD, depth: 0.006m)
    Target 'TCA_L2_HE_CENTRE' (CYLINDER) in 'Comp 2' at (4.75, 2.5, 3.6) (material: PVC_ROD, depth: 0.0125m)
    Target 'TCA_L2_HW_SURF' (CYLINDER) in 'Comp 2' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.001m)
    Target 'TCA_L2_HW_INTER' (CYLINDER) in 'Comp 2' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.006m)
    Target 'TCA_L2_HW_CENTRE' (CYLINDER) in 'Comp 2' at (0.25, 2.5, 3.6) (material: PVC_ROD, depth: 0.0125m)
    Target 'TG_L1_NW_390' (PLATE) in 'Comp 1' at (1.25, 4.5, 3.9) (material: Steel, depth: 0.0025m)
    Target 'TG_L1_SE_390' (PLATE) in 'Comp 1' at (3.75, 1.5, 3.9) (material: Steel, depth: 0.0025m)
    Target 'TG_L2_NE_390' (PLATE) in 'Comp 2' at (3.55, 4.5, 3.9) (material: Steel, depth: 0.0025m)
    Target 'TG_L2_CC_390' (PLATE) in 'Comp 2' at (2.3, 3, 3.9) (material: Steel, depth: 0.0025m)
    Target 'TG_L2_SW_390' (PLATE) in 'Comp 2' at (1.05, 1.5, 3.9) (material: Steel, depth: 0.0025m)

Step 4: Modify Parsed Model#

Once you have a parsed model, you can modify it using the update_* methods (e.g., update_simulation_params()) and run new simulations or save it as a new input file.

updated_model = model.update_simulation_params(
    time_simulation=7200, title="Extended Simulation"
)

# Add a new material with :meth:`~pycfast.CFASTModel.add_material`
new_material = MaterialProperties(
    id="Steel",
    material="Steel Plate",
    conductivity=45.0,
    density=7850,
    specific_heat=0.46,
    thickness=0.005,
    emissivity=0.7,
)
updated_model = updated_model.add_material(new_material)

The new material properties can be inspected below.

new_material
๐Ÿงฑ

Material: Steel

Steel Plate

Conductivity: 45.0 W/mยทK
Density: 7850 kg/mยณ
Specific Heat: 0.46 kJ/kgยทK
Thickness: 0.005 m
Emissivity: 0.7


And the updated model with the new material and modified simulation parameters:

updated_model
๐Ÿ”ฅ

CFAST Model

parsed_PRS_D1.in

Total Components: 75
Simulation: Extended Simulation
Duration: 120 min
Compartments (2)
  • Comp 1: 5.0ร—6.0ร—4.0 m
  • Comp 2: 5.0ร—6.0ร—4.0 m
Fires (1)
  • Tetra-Propylene in Comp 1: Tetra-Propylene_Fire
Ventilation (7)
  • WallVent_1 (Wall): Comp 1 โ†” Comp 2
  • WallVent_2 (Wall): Comp 1 โ†” OUTSIDE
  • WallVent_3 (Wall): Comp 2 โ†” OUTSIDE
  • MechanicalVent_1 (Mechanical): OUTSIDE โ†’ Comp 1
  • MechanicalVent_2 (Mechanical): OUTSIDE โ†’ Comp 2
  • MechanicalVent_3 (Mechanical): Comp 1 โ†’ OUTSIDE
  • MechanicalVent_4 (Mechanical): Comp 2 โ†’ OUTSIDE
Devices (59)
  • FLT_L1_NE040 in Comp 1: PLATE
  • FLT_L1_NE155 in Comp 1: PLATE
  • FLT_L1_NE265 in Comp 1: PLATE
  • FLT_L1_NE355 in Comp 1: PLATE
  • FLT_L1_WC265 in Comp 1: PLATE
  • FLT_L1_NC265 in Comp 1: PLATE
  • FLT_L1_EC265 in Comp 1: PLATE
  • FLT_L1_SC265 in Comp 1: PLATE
  • FLT_L1_PL_CE in Comp 1: PLATE
  • FLT_L1_SOL_CE in Comp 1: PLATE
  • FLT_L2_NE030 in Comp 2: PLATE
  • FLT_L2_NE155 in Comp 2: PLATE
  • FLT_L2_NE260 in Comp 2: PLATE
  • FLT_L2_NE355 in Comp 2: PLATE
  • FLT_L2_WC260 in Comp 2: PLATE
  • FLT_L2_NC260 in Comp 2: PLATE
  • FLT_L2_EC260 in Comp 2: PLATE
  • FLT_L2_SC260 in Comp 2: PLATE
  • FLT_L2_PL_CE in Comp 2: PLATE
  • FLT_L2_SOL_CE in Comp 2: PLATE
  • TP_L1_NE040 in Comp 1: PLATE
  • TP_L1_NE155 in Comp 1: PLATE
  • TP_L1_NE265 in Comp 1: PLATE
  • TP_L1_NE355 in Comp 1: PLATE
  • TP_L1_WC260 in Comp 1: PLATE
  • TP_L1_NC265 in Comp 1: PLATE
  • TP_L1_EC255 in Comp 1: PLATE
  • TP_L1_SC265 in Comp 1: PLATE
  • TP_L1_PL_CE in Comp 1: PLATE
  • TP_L2_NE030 in Comp 2: PLATE
  • TP_L2_NE155 in Comp 2: PLATE
  • TP_L2_NE260 in Comp 2: PLATE
  • TP_L2_NE355 in Comp 2: PLATE
  • TP_L2_WC260 in Comp 2: PLATE
  • TP_L2_NC265 in Comp 2: PLATE
  • TP_L2_EC260 in Comp 2: PLATE
  • TP_L2_SC260 in Comp 2: PLATE
  • TP_L2_PL_CE in Comp 2: PLATE
  • TP_L2_SOL_CE in Comp 2: PLATE
  • TCA_L1_BW_SURF in Comp 1: CYLINDER
  • TCA_L1_BW_INTER in Comp 1: CYLINDER
  • TCA_L1_BW_CENTRE in Comp 1: CYLINDER
  • TCA_L1_HW_SURF in Comp 1: CYLINDER
  • TCA_L1_HW_INTER in Comp 1: CYLINDER
  • TCA_L1_HW_CENTRE in Comp 1: CYLINDER
  • TCA_L2_BE_SURF in Comp 2: CYLINDER
  • TCA_L2_BE_INTER in Comp 2: CYLINDER
  • TCA_L2_BE_CENTRE in Comp 2: CYLINDER
  • TCA_L2_HE_SURF in Comp 2: CYLINDER
  • TCA_L2_HE_INTER in Comp 2: CYLINDER
  • TCA_L2_HE_CENTRE in Comp 2: CYLINDER
  • TCA_L2_HW_SURF in Comp 2: CYLINDER
  • TCA_L2_HW_INTER in Comp 2: CYLINDER
  • TCA_L2_HW_CENTRE in Comp 2: CYLINDER
  • TG_L1_NW_390 in Comp 1: PLATE
  • TG_L1_SE_390 in Comp 1: PLATE
  • TG_L2_NE_390 in Comp 2: PLATE
  • TG_L2_CC_390 in Comp 2: PLATE
  • TG_L2_SW_390 in Comp 2: PLATE
Materials (6)
  • Wool: Rock Wool
  • CONCRETE: CONCRETE
  • ConTarg: Concrete Target
  • PVC_ROD: PVC Rod
  • Steel: Steel
  • Steel: Steel Plate


Step 5: Save Modified Model#

You can save the modified model as a new CFAST input file using save().

updated_model.save(file_name="modified_PRS_D1.in")

print(f"Saved modified model to: {updated_model.file_name}")

# View the contents of the modified file
print(updated_model.view_cfast_input_file())
Saved modified model to: parsed_PRS_D1.in
   1: &HEAD VERSION = 7700 TITLE = 'Extended Simulation' /
   2:
   3: !! Scenario Configuration
   4: &TIME SIMULATION = 7200 PRINT = 50 SMOKEVIEW = 10 SPREADSHEET = 10 /
   5: &INIT PRESSURE = 100805 RELATIVE_HUMIDITY = 50 INTERIOR_TEMPERATURE = 25 EXTERIOR_TEMPERATURE = 25 /
   6:
   7: !! Material Properties
   8: &MATL ID = 'Wool' MATERIAL = 'Rock Wool' CONDUCTIVITY = 0.102 DENSITY = 140.0 SPECIFIC_HEAT = 0.84 THICKNESS = 0.05 EMISSIVITY = 0.95 /
   9: &MATL ID = 'CONCRETE' MATERIAL = 'CONCRETE' CONDUCTIVITY = 1.5 DENSITY = 2430.0 SPECIFIC_HEAT = 0.736 THICKNESS = 0.3 EMISSIVITY = 0.7 /
  10: &MATL ID = 'ConTarg' MATERIAL = 'Concrete Target' CONDUCTIVITY = 1.5 DENSITY = 2430.0 SPECIFIC_HEAT = 0.736 THICKNESS = 0.3 EMISSIVITY = 0.94 /
  11: &MATL ID = 'PVC_ROD' MATERIAL = 'PVC Rod' CONDUCTIVITY = 0.15 DENSITY = 1380.0 SPECIFIC_HEAT = 1.548 THICKNESS = 0.025 EMISSIVITY = 1.0 /
  12: &MATL ID = 'Steel' MATERIAL = 'Steel' CONDUCTIVITY = 45.8 DENSITY = 7850.0 SPECIFIC_HEAT = 0.46 THICKNESS = 0.005 EMISSIVITY = 0.9 /
  13: &MATL ID = 'Steel' MATERIAL = 'Steel Plate' CONDUCTIVITY = 45.0 DENSITY = 7850 SPECIFIC_HEAT = 0.46 THICKNESS = 0.005 EMISSIVITY = 0.7 /
  14:
  15: !! Compartments
  16: &COMP ID = 'Comp 1' DEPTH = 6.0 HEIGHT = 4.0 WIDTH = 5.0 CEILING_MATL_ID = 'Wool' CEILING_THICKNESS = 0.05 WALL_MATL_ID = 'CONCRETE' WALL_THICKNESS = 0.3 FLOOR_MATL_ID = 'CONCRETE' FLOOR_THICKNESS = 0.3 ORIGIN = 0, 0, 0 GRID = 50, 50, 50 /
  17: &COMP ID = 'Comp 2' DEPTH = 6.0 HEIGHT = 4.0 WIDTH = 5.0 CEILING_MATL_ID = 'Wool' CEILING_THICKNESS = 0.05 WALL_MATL_ID = 'CONCRETE' WALL_THICKNESS = 0.3 FLOOR_MATL_ID = 'CONCRETE' FLOOR_THICKNESS = 0.3 ORIGIN = 5, 0, 0 GRID = 50, 50, 50 /
  18:
  19: !! Wall Vents
  20: &VENT TYPE = 'WALL' ID = 'WallVent_1' COMP_IDS = 'Comp 1', 'Comp 2' BOTTOM = 0.0 HEIGHT = 2.15 WIDTH = 0.72 FACE = 'RIGHT' OFFSET = 2.64 /
  21: &VENT TYPE = 'WALL' ID = 'WallVent_2' COMP_IDS = 'Comp 1', 'OUTSIDE' BOTTOM = 3.9932 HEIGHT = 0.00680000000000014 WIDTH = 1.0 FACE = 'FRONT' OFFSET = 2.495 /
  22: &VENT TYPE = 'WALL' ID = 'WallVent_3' COMP_IDS = 'Comp 2', 'OUTSIDE' BOTTOM = 3.9932 HEIGHT = 0.00680000000000014 WIDTH = 1.0 FACE = 'FRONT' OFFSET = 2.495 /
  23:
  24: !! Ceiling and Floor Vents
  25:
  26: !! Mechanical Vents
  27: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_1' COMP_IDS = 'OUTSIDE', 'Comp 1' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  28: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_2' COMP_IDS = 'OUTSIDE', 'Comp 2' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  29: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_3' COMP_IDS = 'Comp 1', 'OUTSIDE' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.0 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  30: &VENT TYPE = 'MECHANICAL' ID = 'MechanicalVent_4' COMP_IDS = 'Comp 2', 'OUTSIDE' AREAS = 0.24, 0.24 HEIGHTS = 4, 4 ORIENTATIONS = 'HORIZONTAL', 'HORIZONTAL' FLOW = 0.28 CUTOFFS = 200, 300 OFFSETS = 0, 3 FILTER_TIME = 0.0 FILTER_EFFICIENCY = 0.0 /
  31:
  32: !! Fires
  33: &FIRE ID = 'Tetra-Propylene' COMP_ID = 'Comp 1' FIRE_ID = 'Tetra-Propylene_Fire' LOCATION = 2.5, 3 /
  34: &CHEM ID = 'Tetra-Propylene_Fire' CARBON = 12.0 CHLORINE = 0.0 HYDROGEN = 26.0 NITROGEN = 0.0 OXYGEN = 0.0 HEAT_OF_COMBUSTION = 40000.0 RADIATIVE_FRACTION = 0.35 /
  35: &TABL ID = 'Tetra-Propylene_Fire' LABELS = 'TIME', 'HRR', 'HEIGHT', 'AREA', 'CO_YIELD', 'SOOT_YIELD', 'HCN_YIELD', 'HCL_YIELD', 'TRACE_YIELD' /
  36: &TABL ID = 'Tetra-Propylene_Fire' DATA = 0, 0, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  37: &TABL ID = 'Tetra-Propylene_Fire' DATA = 16, 16, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  38: &TABL ID = 'Tetra-Propylene_Fire' DATA = 74, 289, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  39: &TABL ID = 'Tetra-Propylene_Fire' DATA = 151, 331, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  40: &TABL ID = 'Tetra-Propylene_Fire' DATA = 214, 494, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  41: &TABL ID = 'Tetra-Propylene_Fire' DATA = 275, 507, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  42: &TABL ID = 'Tetra-Propylene_Fire' DATA = 323, 509, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  43: &TABL ID = 'Tetra-Propylene_Fire' DATA = 359, 498, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  44: &TABL ID = 'Tetra-Propylene_Fire' DATA = 442, 392, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  45: &TABL ID = 'Tetra-Propylene_Fire' DATA = 499, 293, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  46: &TABL ID = 'Tetra-Propylene_Fire' DATA = 568, 233, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  47: &TABL ID = 'Tetra-Propylene_Fire' DATA = 654, 213, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  48: &TABL ID = 'Tetra-Propylene_Fire' DATA = 774, 180, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  49: &TABL ID = 'Tetra-Propylene_Fire' DATA = 855, 144, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  50: &TABL ID = 'Tetra-Propylene_Fire' DATA = 895, 88, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  51: &TABL ID = 'Tetra-Propylene_Fire' DATA = 913, 22, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  52: &TABL ID = 'Tetra-Propylene_Fire' DATA = 972, 13, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  53: &TABL ID = 'Tetra-Propylene_Fire' DATA = 1796, 0, 0.4, 0.36, 0.025, 0.043, 0, 0, 0 /
  54:
  55: !! Devices
  56: &DEVC ID = 'FLT_L1_NE040' COMP_ID = 'Comp 1' LOCATION = 4, 6, 0.4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  57: &DEVC ID = 'FLT_L1_NE155' COMP_ID = 'Comp 1' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  58: &DEVC ID = 'FLT_L1_NE265' COMP_ID = 'Comp 1' LOCATION = 4, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  59: &DEVC ID = 'FLT_L1_NE355' COMP_ID = 'Comp 1' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  60: &DEVC ID = 'FLT_L1_WC265' COMP_ID = 'Comp 1' LOCATION = 0, 3, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  61: &DEVC ID = 'FLT_L1_NC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  62: &DEVC ID = 'FLT_L1_EC265' COMP_ID = 'Comp 1' LOCATION = 5, 3, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  63: &DEVC ID = 'FLT_L1_SC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 0, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  64: &DEVC ID = 'FLT_L1_PL_CE' COMP_ID = 'Comp 1' LOCATION = 4.38, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  65: &DEVC ID = 'FLT_L1_SOL_CE' COMP_ID = 'Comp 1' LOCATION = 3.75, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  66: &DEVC ID = 'FLT_L2_NE030' COMP_ID = 'Comp 2' LOCATION = 4, 6, 0.3 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  67: &DEVC ID = 'FLT_L2_NE155' COMP_ID = 'Comp 2' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  68: &DEVC ID = 'FLT_L2_NE260' COMP_ID = 'Comp 2' LOCATION = 4, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  69: &DEVC ID = 'FLT_L2_NE355' COMP_ID = 'Comp 2' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  70: &DEVC ID = 'FLT_L2_WC260' COMP_ID = 'Comp 2' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  71: &DEVC ID = 'FLT_L2_NC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  72: &DEVC ID = 'FLT_L2_EC260' COMP_ID = 'Comp 2' LOCATION = 5, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  73: &DEVC ID = 'FLT_L2_SC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 0, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  74: &DEVC ID = 'FLT_L2_PL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  75: &DEVC ID = 'FLT_L2_SOL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  76: &DEVC ID = 'TP_L1_NE040' COMP_ID = 'Comp 1' LOCATION = 4, 6, 0.4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  77: &DEVC ID = 'TP_L1_NE155' COMP_ID = 'Comp 1' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  78: &DEVC ID = 'TP_L1_NE265' COMP_ID = 'Comp 1' LOCATION = 4, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  79: &DEVC ID = 'TP_L1_NE355' COMP_ID = 'Comp 1' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  80: &DEVC ID = 'TP_L1_WC260' COMP_ID = 'Comp 1' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  81: &DEVC ID = 'TP_L1_NC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  82: &DEVC ID = 'TP_L1_EC255' COMP_ID = 'Comp 1' LOCATION = 5, 3, 2.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  83: &DEVC ID = 'TP_L1_SC265' COMP_ID = 'Comp 1' LOCATION = 2.5, 0, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  84: &DEVC ID = 'TP_L1_PL_CE' COMP_ID = 'Comp 1' LOCATION = 4.38, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  85: &DEVC ID = 'TP_L2_NE030' COMP_ID = 'Comp 2' LOCATION = 4, 6, 0.3 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  86: &DEVC ID = 'TP_L2_NE155' COMP_ID = 'Comp 2' LOCATION = 4, 6, 1.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  87: &DEVC ID = 'TP_L2_NE260' COMP_ID = 'Comp 2' LOCATION = 4, 6, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  88: &DEVC ID = 'TP_L2_NE355' COMP_ID = 'Comp 2' LOCATION = 4, 6, 3.55 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  89: &DEVC ID = 'TP_L2_WC260' COMP_ID = 'Comp 2' LOCATION = 0, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FRONT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  90: &DEVC ID = 'TP_L2_NC265' COMP_ID = 'Comp 2' LOCATION = 2.5, 6, 2.65 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'LEFT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  91: &DEVC ID = 'TP_L2_EC260' COMP_ID = 'Comp 2' LOCATION = 5, 3, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'BACK WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  92: &DEVC ID = 'TP_L2_SC260' COMP_ID = 'Comp 2' LOCATION = 2.5, 0, 2.6 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'RIGHT WALL' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  93: &DEVC ID = 'TP_L2_PL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 4 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'FLOOR' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  94: &DEVC ID = 'TP_L2_SOL_CE' COMP_ID = 'Comp 2' LOCATION = 3.8, 3, 0 TYPE = 'PLATE' MATL_ID = 'ConTarg' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.15 DEPTH_UNITS = 'M' /
  95: &DEVC ID = 'TCA_L1_BW_SURF' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
  96: &DEVC ID = 'TCA_L1_BW_INTER' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
  97: &DEVC ID = 'TCA_L1_BW_CENTRE' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
  98: &DEVC ID = 'TCA_L1_HW_SURF' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
  99: &DEVC ID = 'TCA_L1_HW_INTER' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 100: &DEVC ID = 'TCA_L1_HW_CENTRE' COMP_ID = 'Comp 1' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 101: &DEVC ID = 'TCA_L2_BE_SURF' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 102: &DEVC ID = 'TCA_L2_BE_INTER' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 103: &DEVC ID = 'TCA_L2_BE_CENTRE' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 0.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 104: &DEVC ID = 'TCA_L2_HE_SURF' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 105: &DEVC ID = 'TCA_L2_HE_INTER' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 106: &DEVC ID = 'TCA_L2_HE_CENTRE' COMP_ID = 'Comp 2' LOCATION = 4.75, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 107: &DEVC ID = 'TCA_L2_HW_SURF' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.001 DEPTH_UNITS = 'M' /
 108: &DEVC ID = 'TCA_L2_HW_INTER' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.006 DEPTH_UNITS = 'M' /
 109: &DEVC ID = 'TCA_L2_HW_CENTRE' COMP_ID = 'Comp 2' LOCATION = 0.25, 2.5, 3.6 TYPE = 'CYLINDER' MATL_ID = 'PVC_ROD' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0125 DEPTH_UNITS = 'M' /
 110: &DEVC ID = 'TG_L1_NW_390' COMP_ID = 'Comp 1' LOCATION = 1.25, 4.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 111: &DEVC ID = 'TG_L1_SE_390' COMP_ID = 'Comp 1' LOCATION = 3.75, 1.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 112: &DEVC ID = 'TG_L2_NE_390' COMP_ID = 'Comp 2' LOCATION = 3.55, 4.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 113: &DEVC ID = 'TG_L2_CC_390' COMP_ID = 'Comp 2' LOCATION = 2.3, 3, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 114: &DEVC ID = 'TG_L2_SW_390' COMP_ID = 'Comp 2' LOCATION = 1.05, 1.5, 3.9 TYPE = 'PLATE' MATL_ID = 'Steel' SURFACE_ORIENTATION = 'CEILING' TEMPERATURE_DEPTH = 0.0025 DEPTH_UNITS = 'M' /
 115:
 116: !! Surface Connections
 117:
 118: &TAIL /

Cleanup#

Clean up the temporary files we created during this demonstration.

files_to_remove = ["parsed_PRS_D1.in", "modified_PRS_D1.in"]

for file_path in files_to_remove:
    if os.path.exists(file_path):
        os.remove(file_path)
        print(f"Removed {file_path}")

print("\nCleanup completed!")
Removed parsed_PRS_D1.in
Removed modified_PRS_D1.in

Cleanup completed!

Total running time of the script: (0 minutes 0.047 seconds)

Gallery generated by Sphinx-Gallery