1 Introduction

The engineering community has worked for more than a century to develop reliable engineering solutions to mitigate the impact of a fire. Understanding the progression of a fire is undoubtedly the starting step, which provides a foundation for performance oriented fire safety design. For fires occurring in buildings, the fire impact is predominantly estimated using the ’compartment fire’ framework [1], which recognised the development of enclosure fires as ventilation controlled fires (Regime I) or fuel-controlled fires (Regime II). For both cases, a time-temperature curve regardless of location was considered adequate to represent the fire impact of a fully developed fire, while the fire curve includes the effects of the burning rate and the maximum gas temperature (\(T_{g,max}\)). By reviewing the existing experimental data, Stern-Gottfried et al. [2] questioned the adequacy of assuming homogeneous temperature distribution in non-cubic compartments. This echoes a statement that Drysdale [3] mentioned in his classic textbook: most of our knowledge regarding compartment fires comes from experiments in near-cubical compartments of characteristic dimensions ranging from 0.5 m to 3 m. In a review over the past large scale structural fire tests, Bisby et al. [4] pointed out that natural fire exposures should be introduced to the contemporary fire safety design rather than simply applying a standard fire curve. In recent years, Experimental investigations towards the real fire behaviour in large compartments were reported, such as the full scale test in BRE lab, UK and another test in Malveira, Spain [5, 6]. The tests successfully identified and demonstrated the different modes of a fire in large compartments: namely a growing mode (localised fire), a travelling mode, and a fully developed mode. The concept of travelling fire behaviour along with a travelling fire model were first proposed by Stern-Gottfried and Rein [7, 8] and later extended by Dai et al. [9, 10] and Heidari et al. [11]. Despite the evolving travelling fire models, many assumptions remain in use for simplicity and lack of supporting knowledge to the true physics [12]. Fundamental aspects such as travelling path, travelling velocity, fuel distribution and ventilation condition remain ambiguous. In parallel to the development of engineering fire models, significant advances has occurred in the implementation of Computational Fluid Dynamics (CFD) simulation. With the aid of CFD analyses [13], engineers are able to model the whole progression of fires in buildings of various configuration using a tool such as Fire Dynamics Simulator (FDS). However, many uncertainties are embedded in the CFD prediction and performing CFD analyses requires a thorough understanding of the relevant parameters and model configurations. Therefore, an engineering fire model is desirable to structural engineers in the context of performance based fire safety design. The model should be able to address the various modes of fire impact and ideally the fire model can be based on a number of CFD analyses without scientific deficiency.

Once a fire model is available as the thermal boundary condition, a heat transfer (HT) analysis is necessary to estimate the thermal response of structural members when designing for the safety of a building. Commercial finite element packages such as ANSYS [14] and Abaqus [15] are capable of performing general purposed analyses including thermal analyses. To model buildings subjected to fires, software packages such as VULCAN [16] and SAFIR [17] were specially developed for this purpose and programmed in FORTRAN. Unlike these software packages of closed development environment, the work of this paper is based on a completely open source platform, OpenSees, which was originally developed as a software framework for earthquake engineering simulation at the University of California, Berkeley [18]. OpenSees is written in a modern programming language C++ and has an object-oriented architecture, which enables developers to focus on specific objects and to extend the capabilities of the tool. Significant contributions to the framework has been made to OpenSees for performing integrated thermal and thermo-mechanical analyses in the context of ’structure in fire’ simulation [19,20,21,22,23]. In this paper, the development of thermal analysis infrastructure in OpenSees including the classes and application interface is presented. Tcl and Python scripts have been enabled for users to run thermal analysis. More importantly, the Python interpreter can provide customised interface directly interacting with the C++ code through the C++ embedded Python APIs. The developed interface is thereafter used to introduce and calibrate the modifying variables to overcome the limitation of using localised fire models to describe natural fire behaviour. As declared in the vision of future fire modelling, the proposed framework can be an efficient approach to bridge the structural fire safety engineering and fire dynamics research.

2 Thermal Analysis Infrastructure in OpenSees for Fire

Prior to the quantification of thermo-mechanical mechanisms of structural components subjected to fires, the thermal response of structural components has to be quantified if adopting a sequential procedure of decoupling the analysis. Ideally and ultimately, numerical modelling of structures in fire should perform coupled thermal and structural analysis because the heat transfer boundary can be affected by the damage of building components. Although the scope of this paper solely falls into the discussion of thermal analysis of structures members exposed to various scenario fires, the developed interface actually provides an interactive infrastructure between fire models and heat transfer module.

2.1 Fire Models in OpenSees

Traditional fire models are available in OpenSees for modelling thermal response of structural members in fire. Idealised uniform fires commonly refer to fully developed fires that are confined in enclosed space, i.e. a compartment fire. The uniform temperature assumption for this category of fires is valid for small compartments and remain widely used in the practice of fire safety design. As shown in Fig. 1, these fire models available in OpenSees include the standard fire model, the parametric fire model, and the hydro-carbon fire model [24]. Additionally, users are allowed to define a customised time-temperature curve using an external file as the UserDefined fire model.

Figure 1
figure 1

The library of fire models in OpenSees for modelling building fires

When the non-uniform distribution of fire impact is taken into account, engineering fire models capable of describing such type of behaviour are categorised as idealised non-uniform fires. For a localised fire not yet impinging the ceiling, the Alpert Ceiling Jet fire model is available in OpenSees to estimate the weak-plume fire action. The correlations between gas-phase temperature \(T_g\) at the ceiling level and the radius distance to the fire centre r are given as:

$$\begin{aligned} T_g & = 16.9\frac{\dot{Q}^{2/3}}{H^{5/3}}+T_a ,\quad (r/H)\le 0.18 \end{aligned}$$
(1)
$$\begin{aligned} T_g& = 5.38\frac{(\dot{Q}/r)^{2/3}}{H}+T_a ,\quad (r/H)>0.18 \end{aligned}$$
(2)

where \(\dot{Q}\) is the heat release rate (HRR) of the fire source in kW. H is the ceiling height, and \(T_a\) is the ambient temperature. For fire models providing gas-phase temperature, the net heat heat flux received by the structural member surface is given as below:

$$\begin{aligned} q_{net}'' = h(T_g-T_m) +( \varepsilon _r\sigma T_g^4-\varepsilon \sigma T_m^4) \end{aligned}$$
(3)

where h is the convective heat transfer co-efficient, \(\varepsilon _r\) and \(\varepsilon\) are resultant emissivity for fire (considering fire emissivity and surface absorptivity) and emissivity for structural member surface. \(\sigma\) is the Stephan Boltzmann constant (\(5.67\times 10^{-8}\hbox {W/m}^2\text {K}^4\)).

When the localised fire of a higher HRR is able to impinge the ceiling, the distribution of gauge measured heat fluxes \(q''\) can be approximated using the correlations between \(q''\) and the non-dimensional parameter y. This methodology was derived from a series of experimental and numerical work done by Hasemi and his colleagues [25,26,27], which has been often used in describing the localised fire action and denoted as Hasemi methodology in this paper.

$$\begin{aligned} y=\frac{r+H+z'}{L_C+H+z'} \end{aligned}$$
(4)

where y is non-dimensionallised to indicate the radius distance to the centre of the fire source, and \(L_C\) and \(z'\) are the horizontal flame length and the virtual heat source location, respectively. Using this methodology, the localised fire model in Eurocode EN-1991-1-2 [24] defines \(q''(\hbox {kW/m}^2)\) as below:

$$\begin{aligned} q''& = 100,\quad y\le 0.30; \end{aligned}$$
(5)
$$\begin{aligned} q''& = (136.3-121y),\quad 0.30 < {y} \le 1.0; \end{aligned}$$
(6)
$$\begin{aligned} q''& = 15y^{-3.7},\quad y\ge 1.0 \end{aligned}$$
(7)

Another form of correlation can be found in the SFPE handbook [28],which is also based on the work done by Hasemi and Wakamatsu (Here denoted as SFPE Wakamatsu model or simply SFPE model) is given as below:

$$\begin{aligned} q'' = 518.8e^{-3.7y} \end{aligned}$$
(8)

For these localised fire models described using heat fluxes, the distribution of \(q''\) is actually an approximation of the test measured heat fluxes using water cooled heat flux gauges. Hence, the net heat flux received by the structural member surface can be estimated as below:

$$\begin{aligned} q_{net}'' = q''- h(T_m-T_a) -( \varepsilon \sigma T_m^4- \varepsilon \sigma T_m^4) \end{aligned}$$
(9)

where h is the convective heat transfer co-efficient, \(\varepsilon\) is the emissivity of structural member surface (the emissivity of gauge is usually reckoned as the same). Besides of these localised fire models, idealised local fire models offering definition of heat fluxes of a linear distribution, an exponential distribution, and a stepwise distribution are given for benchmark use.When the fire exhibits a travelling behaviour in large compartments, such as the large open plan offices, a travelling fire model should be used in thermal analyses. The earlier version of the travelling fire model (Rein’s Model) was presented by Stern-Gottfried and Rein [8], which assumed a maximum temperature between \(800^{\circ }\)C and \(1200^{\circ }\)C for the near field and uses the Alpert ceiling jet fire model (Eqs. 1, 2) to describe the far field smoke temperature. This was followed by an improved model presented by Rein’s team introducing a flapping length to describe the size of near field [29]. The conceptual travelling model was later extended by Dai et al. [10] to adopt a EC1 localised fire model (Eqs. 57) to represent the travelling near field and a FIRM zone model for the far field considering energy conservation. Recently the localised burning concept was also adopted by Rein’s team in the work to include a flame extension into the travelling fire model [11]. Enlightened by the travelling fire work, this paper intends to propose a new approach as a parallel work to mathematically describe the real fire impact to structures using a series of variables. This is denoted as a natural fire model and will be obtained potentially using a data-driven approach as discussed later in this paper.

2.2 Thermal Analysis Module in OpenSees

A matrix form of the governing equation can be written as below for each heat transfer element and can be assembled as a system of equation:

$$\begin{aligned} {\mathbf {C}}^e {\mathbf {\dot{T}}}^e + {\mathbf {K}}^e {\mathbf {T}}^e = {\mathbf {Q}}^e \end{aligned}$$
(10)

where the \({\mathbf {C}}^e\) is a matrix formulated using the specific heat of the heat transfer material at each integration points of finite elements.Temperature dependent thermal properties can be taken into account in various heat transfer material models. The thermal conductivity can be similarly defined for each material, and it is retrieved by the element to formulate the thermal conductivity matrix \({\mathbf {K}}^e\). Various forms of the thermal boundary conditions can defined as fixed temperature for nodes or heat fluxes at the element edges, which are considered as heat flux boundaries \({\mathbf {Q}}^e\).

Figure 2
figure 2

Thermal analysis module in OpenSees

To computationally solve the above finite element governing equation, a number of classes and supporting codes have been created in OpenSees. As shown in Fig. 2, the dashed-line boxes represent the classes sets referring to the initial development by Jiang [20], which have been comprehensively enriched or modified in recent years. The solid-line boxes represent the newly developed class sets. The thermal analysis module has now been able to be used for analysing the heat transfer in structural members or generic sections subjected to various types of fires, whereas the initially developed codes only build up the infrastructure to run thermal analyses as internal C++ function. The code convention and class hierarchy are similar to the OpenSees structural module, which is to minimise the learning cost of developers with interests of extending the heat transfer modelling capability. HeatTransferDomain is the main container to store the Heat transfer nodes, materials and elements, as well as the thermal boundary conditions. The heat transfer material library has been extended to different construction materials, while the element types have covered from one dimensional (1D) to three dimensional (3D) elements. Thermal boundary conditions now include single-point and multipoint temperature boundary conditions (BC) and heat flux boundary conditions for ambient and fire exposure. Meanwhile, the definition of HeatFluxBC has been integrated to the fire models corresponding to the Eqs. 3 and 9.

To truly enable the use of thermal analysis module,Tcl [30] and Python [31] interpreters have been added. The Tcl interpreter is embedded in the program and the application entry is OpenSees.exe on Windows platform. The Python interpreter transformed the OpenSees source codes into a Python package, which can be imported in an ordinary Python program. Users can write thermal analysis scripts recognisable to Python to create heat transfer model and interact with the model during the analysis. Both Tcl and Python interpreters co-work with a built-in mesh tool(C++ class set) to discretise the structural members defined as HTEntity into a number of heat transfer nodes and elements, and various heat transfer boundary conditions. Traditional OpenSees structural model comprises beam type elements, and defines the nodes and elements by specifying the nodal and elemental information for each one. It becomes unfavourably tedious for a heat transfer model even when defining a simple block section that can involve thousands of elements. The introduction of such a mesh tool can significantly simplify the scripts in defining structural members or sections, such as beams, columns, and slabs. It stores the seed information after receiving the mesh control parameters and discretises the entity into nodes (HeatTransferNode) and elements (sub-classes of HeatTransferElement). During the meshing procedure, one or multiple HT materials (sub-classes of HeatTransferMaterial) are appointed to each element. By using the selection tools for nodes and elements, thermal BC can be applied for ambient surface and fire-exposed surfaces. Furthermore, corresponding recorders can be defined for selected nodes and elements, which can directly return the recorded values to the Python interpreter during the analysis. The similar operation can be applied to fire models and HT domain to retrieve the variables and adjust them. This type of operation can then co-work with extensive Python packages to visualise the results or achieve smart applications as introduced later in this paper.

2.3 Analysis Scripts for OpenSees Heat Transfer Module

Facilitated by the above presented development, users can now perform thermal analyses in OpenSees using Tcl script or Python script. To run a thermal analysis for example modelling a concrete slab subjected to the standard fire, the user scripts can be written in either Tcl or Python, both of which have been briefly shown in Fig. 3. The right-hand column presents the simplest script in Python, while some default settings including the analysis settings unless being specified using commands. On the left-hand side of the Fig. 3, Tcl commands are only shown to list the differences of scripting grammar such as the removal of ’()’ for arguments and the removal of ” for string type compared to the input in Python. Facilitated by the mesh tool, the script can be written in a very compact manner and fulfils the need in ’structure in fire’ simulation. Moreover, it does not compromise the need of running general-purposed thermal analysis. The unified interface for fire models (especially complex fire models for built environment), sectional meshes for other type of structural members, and other components could be further included or extended if necessary.

Figure 3
figure 3

Script input using Tcl/Python interpreter for performing a thermal analysis in OpenSees

Figure 4
figure 4

Definitions of commands for running thermal analyses in OpenSees

A detailed list of the commonly used commands for thermal analysis in OpenSees have been shown in Fig. 4. The HT module should be initialised first and the HT materials and entities can be sequentially defined. While the types of materials include concrete, steel, fireproof coating, timber, etc, the types of entities refer to the various shapes of model, such as a 1D line, a 2D rectangular block, and other types of entities as listed. All these entities are defined with centroid coordinates and its dimensions to specify its location and size. This is followed by a HTMesh command which assigns the HTMaterial tags and mesh control parameters including the element sizes and extra global coordinates. Thermal boundary conditions can then be applied as temperature boundary conditions (TempBC and HTCouple) or heat flux boundary conditions that are associated with HTPattern for ambient heat exchange and fire exposure. To obtain data output, HTRecorder is used to get nodal temperature and elemental or material results. The analysis commands are similar to the definitions used in structural analysis, while the type of analysis has to be ’HeatTransfer’ for the HTAnalysis and so the transient analysis module is incurred. The time steps are defined following the command HTAnalyse and the analysis will run after receiving it. Miscellaneous commands such as HTNodeSet and EleSet are given for selecting nodes and elements. Details of the user commands and examples can be found at the website: https://www.openseesforfire.github.io.

3 Validation and Demonstration of Modelling Thermal Responses to Uniform and Non-uniform Fires

To validate and demonstrate the use of the developed thermal analysis infrastructure in OpenSees,a concrete slab subjected to a uniform fire (standard fire curve) is modelled, which is followed by modelling the actual localised fire tests using pool fires and steel beams. The temperature distributions of the structural members modelled by OpenSees Heat Transfer module are compared with the test measured data, which shows the capability of heat transfer module and the validity when the fire scenario have been deliberately designed corresponding to the design fire models. Moreover, the modelling results for localised fire tests also demonstrate the limitation of the localised fire models when smoke layer effect is included.

3.1 Modelling Thermal Response to Uniform Fire Action in OpenSees

Modelling the thermal response of structural members subjected to uniform fires is a relatively simple task. The modelled case is one of the concrete slab tests conducted by Lim and Wade [32]. The slab was heated for 3 h on an oil-fired furnace whose temperature followed the standard fire curve (ISO834 fire). The normal weight concrete of the siliceous aggregates was used in the slab and modelled as ConcreteEC2 material [33] in OpenSees. Thermal couples were installed across the section to monitor the temperature evolution inside the concrete slab at various locations. As shown in Fig. 5, the temperature predicted by the thermal response module are plotted and compared to the measured temperature at monitored depths: 25 mm, 50 mm, 75 mm, and 95 mm from the exposed surface. The heat transfer analysis using 3D brick elements and HeatFluxBCs adopting the suggested convective co-efficient (4 W/m\(^2\)K for ambient convection and 25 W/m\(^2\)K for fire exposed surface) and emissivity (0.8) in EN-1991-2 [24], which lead to generally accurate results at various depths. The analysis results are similar to the simulated results given in [34]. In the common design practice, it should be noticed that the parameters for convection and radiation are taken as averagely constant values which are based on engineering assumptions. Another comparison is made to verify the performance of various types of heat transfer elements regarding the uniform fire exposure. A 1D line model, a 2D block model and a 3D brick model as mentioned earlier are now used to model this slab subjected to Standard Fire exposure. From the Fig. 5, identical results can be observed at the depth of 25mm, while similar results can be found at other depths but not displayed here for simplicity.

Figure 5
figure 5

Temperature distribution in a flat concrete slab tested by standard fire

3.2 Modelling Thermal Response to Non-uniform Fire Action in OpenSees

Another category of fire scenarios in OpenSees library is the non-uniform fire action. As one of the typical non-uniform fire scenarios, localised fires have been studied in the form of experimental tests and empirical models. The aforementioned localised fire models adopting the Hasemi methodology describes the non-uniformly distributed thermal impact with regard to radius distance to the fire centre, which were derived from a large amount of localised fire test data. One of the representative tests is the small scale localised fire test reported by Wakamatsu and Hasemi [26]. The test used a propane pool fire of a heat release rate of 200kW and a diameter of 0.5 m to heat a 3.6 m long steel beam underneath the ceiling(perlite board). The steel beam is of a 150 mm (H) \(\times\) 75 mm (W) \(\times\) 5 mm (Web) \(\times\) 6 mm (Flange) H-shape section and the vertical distance from the bottom surface of the steel beam to the fire source is 1.0 m. It was observed that the fire flame could reach the ceiling and engulf the beam. During the test, the thermal response of the steel beam was monitored using thermal couples at various locations. As shown in Fig. 6, the temperature distribution along the bottom flange of the steel beam has been presented to compare the test and modelling results. The simulated temperature distribution presented in the same paper has been plotted as well. Using OpenSees, the thermal response of the beam is modelled by taking account of the localised fire action using two different fire models: the SFPE model considering the beam shielding effect and the EC1 localised fire model ignoring the difference of heat fluxes through the depth of the beam. The net heat fluxes are calculated according to the previously given Eq. 9, in which the emissivity is all set as 0.85 according to the reference paper [26]. The convective heat transfer co-efficient for SFPE localised fire model is 10 W/m\(^2\)K, whilst 35 W/m\(^2\)K is used for EC1 localised fire model as the Eurocode recommends [24]. The HT material of the section is defined as carbon steel using the Eurocode suggested thermal properties [35]. The model is built with the ISection3D HTEntity and being meshed with a fine mesh across the section (element size: 2.5 mm to 7 mm) and a sufficiently accurate mesh along the length (10 mm). Comparing the results, it can be found that the SFPE model could produce very similar distribution to the simulation results presented by Wakamatsu and Hasemi [26], which are both slightly lower than the test data due to the underestimated heat fluxes using SFPE localised fire model. Meanwhile, the EC1 localised fire model could produce a better agreed temperature distribution at most of locations except the midspan of the beam (above the fire source). This suggests that the OpenSees modelling infrastructure is capable of performing thermal analyses regarding localised fire action, whereas the modelling accuracy is closely dependant on the localised fire models being used (i.e., heat flux distribution and heat transfer parameters for convection and radiation) as thermal boundary condition.

Figure 6
figure 6

Modelling a small scale test of a steel beam subjected to localised fire

Figure 7
figure 7

Modelling a real-scale test of a steel beam subjected to localised fire

To investigate the smoke layer effect to the localised fire action, several real-scale localised fire tests were later carried out by Wakamatsu et al. [27]. The test setup was similarly set up, but using 1 m high smoke barriers as a comparison to investigate the smoke layer effect underneath the ceiling. The real-scale tests were conducted to heat steel beams of a 400 mm \(\times\) 200 mm \(\times\) 13 mm \(\times\) 15 mm H-section using fire sources of the same HRR (1127 kW) and diameter (1 m). Noticed these real-scale localised fire tests were claimed equivalent to the small scale test as thes tests were designed to have the same non-dimensional HRR as explained by Wakamatsu et al. [27]. Nearly identical temperature distribution can be found in the small scale test (Fig. 6) and the real-scale test without smoke barriers (Fig. 7), where the OpenSees simulated results are plotted for the EC1 and SFPE localised fire models. When smoke barriers were absent, the heating effect to the beam can be more accurately predicted by the EC1 localised fire model, whilst slightly lower temperature profile is seen in results predicted using the SFPE Wakamatsu model. The similar discrepancies can be found in the simulation results presented by Wakamatsu et al. [27]. When the smoke being trapped by smoke barriers, higher temperature can be observed along the beam. At both beam ends, the temperature distribution shows drops for both tests, which may be due to the blocking effect of the columns supporting the beam. Comparing the test data, the incremental temperatures through the beam due to the smoke layer indicate that an additional heat flux may be necessary and this will be introduced later in the paper.

4 The Trend and Challenges of Modelling Natural Fire Action

As mentioned in the introduction section, research on fire behaviour in buildings have been moving from uniform fire assumption to the localised and travelling fire behaviour especially in the context of modern tall buildings. It has been observed that fires in large open plan compartments tend to exhibit a non-uniform characteristic [2]. From the structural response point of view, the scope of structural damage caused by fires may inherit a similar pattern. Localised damage to the structural component occurs when being heated by a fire at the growing mode, which may lead to a load redistribution in the structural system and possibly weaken the support to major structural members. The structural system with such ’initial’ damage has a potential to collapse locally when the fire grows and travels. More importantly, this type of local collapse may sequentially cause the damage of passive fire protection and the partitioning non-structural members, which may result in a further spreading of the fire through the building and ultimately a disproportionate scope of collapse. This possible path to the collapse has been observed in the WTC7 fire [36] and the Plasco fire [37]. Therefore, it becomes a welcoming trend to shift from traditional uniform fire scenarios to non-uniform fire scenarios, i.e. natural fires.

4.1 Travelling Fire Models Using Localised Fire Concept

The ’travelling fire’ studies have brought substantial advancing steps in modelling the natural fire behaviour. Generally the status of a natural fire in any compartment may fall into one of these four modes: a growing mode after the ignition, a travelling mode, a fully developed mode after large area of spontaneous ignition, and a decay mode. To identify these modes, Hidalgo et al. [6] suggested that a growing mode is when the fire exhibits a higher spread velocity of the fire front (\(V_s\)) than the spread velocity of the burnt front (\(V_{BO}\))[5]. When the (\(V_s\)) is high and \(V_{BO}\)) is extremely low, it is a indicator of flashover (fully developed mode). For the travelling stage of a fire as characterised as \(V_s \approx V_{BO}\), the fire behaviour remains unclear as it lacks research backup to explain the effects of ventilation, travelling path, fuel distribution, and the transition mechanism to localised flashover, etc.

As briefly reviewed before, the near field of a travelling fire was first assumed as a constant gas-phase temperature (800–\(1200^{\circ }\)C) [7, 29] and was later considered as a localised fire burning representative in the extended models [9, 11]. Comparing to the measured temperature distribution in the Malveira test [6] as shown in Fig. 11, the maximum temperature (\(\hbox {t}=237\) min) on a travelling mode only reaches approximately \(727.6^{\circ }\)C, indicating that a localised fire model may be more suitable for the near field. As discussed earlier, there are different localised fire correlations between the non-dimensional y and heat fluxes \(q''\) that are given, including the EC1 model [24], the Wakamatsu model and the Lattimer model which was another correlation provided in the SFPE handbook [28]. These different localised fire models using various correlations between heat fluxes and distance parameter have been plotted in Fig. 8. Unlike the Wakamatsu model, the other two models assume a plateau of maximum heat flux above the fire centre, which are based on the observation from many localised fire tests. When the fire flames impinging on the ceiling or structural members, the peak heat flux measured does not exceed 120 kW/m\(^2\). In the work presented by Heidari et al. [11], these localised fire models have been used individually to represent the near field fire impact. However, the limitation of these localised fire models and the potential relationship between localised burning and fire impact has not yet been addressed.

Figure 8
figure 8

Different correlations to represent localised fire action

4.2 Limitation of Current Localised Fire Models to Describe Travelling Fire Behaviour

Along with the continuous evolution of travelling fire models, the localised burning concept has been accepted to describe the near field thermal impact during the travelling stage. However, the limitations remain and may be summarised as follows: (a) Traditional localised fire models as discussed before were based on the fire tests of unconfined ceilings, which suggests that the increased heat impact at the near field due to the semi-confined condition of large compartments (wall along the travelling path and the accumulated smoke layer) should be considered. (b) The localised fire model in describing the travelling fire behaviour does not reflect the early stage weak plume heating impact and the late stage of localised flashover. (c) The travelling behaviour of near field is hypothetically assumed to be of constant speed and designated path, which may vary according to fuel distribution and ventilation in reality. (d) The fire plume shape and smoke layer may be not symmetrical owing to the ventilation and compartment configuration, which requires parameters to describe the asymmetrical feature.

While research efforts have been continuously devoted to studying the fire dynamic mechanism of travelling fires, the above listed limitations can be possibly reduced or resolved step by step. Real-scale fire tests are important and reliable input for optimising the fire models, as well as fire dynamics simulation which can provide detailed field data. In future, it is anticipated to include more variables to equip the model for suitable implementation in fire safety design. It has to be declared that this paper does not intend to push forward a huge step on the travelling fire model. Instead, an infrastructure for refining or optimising the fire model is proposed as one of the attempts for the aforementioned limitation (a) and (b). Further studies using the developed infrastructure can be performed as follow-up work and research outcomes from other groups can be potentially incorporated.

5 Python-OpenSees Framework for Modelling Natural Fire Action

It is recognised that full-scale fire tests are extremely costly and fire simulation using a detailed model requires significant investment of time and computational resources. Moreover, the complexity of modelling travelling fires mounts when fire spreading is simulated. Therefore, an engineering fire model with robust fire dynamics input remains a preferable choice for fire safety engineers. More importantly, such travelling fire models of multiple variables can be potentially generated by a machine learning an training program, while a decent number of samples become available such as fire tests and simulation cases. This as the vision of the paper will be a long term project. The following discussion is limited to presenting a modelling framework and some preliminary results of demonstration.

5.1 A Vision of a Natural Fire Model Framework

A natural fire model as illustrated in the above discussion is of much interest in the context of performance based fire safety design. Ideally, it should be able to describe the full progression of a fire in a compartment, with the capability of switch from one mode to the other, such as a growing mode to a travelling mode, or a travelling mode to a fully developed mode. For a growing fire remains localised, Alpert jet fire model can be used or modified to describe the fire impact before the flames impinging the ceiling. A localised fire model with parameters introduced can then be used with proper consideration of smoke layer effect. As the flashover condition (i.e. smoke layer temperature reaches \(500^{\circ }\)C) is triggered, it may be substituted by a post-flashover model in the intense burning region. Due to the obvious complexities, an explicit model covering all these aspects can not be simply generated, which is owing to the lack of suitable fire models able to link its thermal impact and fire dynamics.

Figure 9
figure 9

A Python-OpenSees based framework for smart fire safety design

Unlike the other approaches that employ simple assumptions, this paper intends to propose a data-driven approach to obtain the engineering fire model. The complete natural fire model will be based on these base models in various modes and the mode-switching conditions, and it will bring a series of necessary parameters to calibrate the model. The calibration will be achieved by using the OpenSees thermal analysis infrastructure and optimisation packages available in the Python and AI communities. Full-scale fire test data and FDS simulation cases become samples to obtain various calibrated fire models (ongoing work). Furthermore, the research outcome on the fundamental mechanism of large compartment fires will help reduce the required parameters and validate the optimisation results. This will become the first phase of the work described in Fig. 9 as model calibration. while such calibration is repeatedly conducted for many times, the machine learning packages can thereafter ’learn’ from the calibration procedure, which becomes the second phase of the work: training. The long term goal is that the engineering natural fire model can be automatically given by the software after reading the input of the building geometry information and fuel distribution. The process of model generation is based on the machine learning over a large library of samples with high fidelity and robustness. Uncertainties can be mitigated through an loss evaluation process within the software framework, which is the classic and key component of AI technology in decision making assistance. The evaluation process should be able to identify the worst cases of fire development by examining the thermal and structural responses provided by the OpenSees analyses. With the aid of the smart fire design software, it can be eventually possible to conduct fire safety design in the thermal response stage and prevent the fire to a fully developed mode by controlling the ventilation condition or fuel distribution. Possibilities may be also extended to employ such a natural fire model in the fast response application such as on-site fire fighting. Once a critical event is triggered, the further possible fire development can be simultaneously given to assist commanders making quick decisions.

5.2 Python-OpenSees Interface for Natural Fire Model

Responding to the aforementioned vision, the Python interpreter and OpenSees thermal analysis module are employed. Usually when Python scripts are employed in running analyses with FEM packages, the scripting tool is used to define a model and launch the FE analysis only. when the analysis completes or terminates, data output can be read and extracted with information transferred to Python optimisation/machine learning packages. The shortcoming of this type of methodology is that the Python based script tool can not interact with the FE analysis core, which is due to the limited capabilities of APIs provided by the enclosed FE package. However, the developed Python interpreter for OpenSees can be embedded at a base level of C++ source codes, which subsequently links the input and output of Python packages to the OpenSees variables and functions. As the work continues complying with the above mentioned vision, more Python functions if necessary will be added to conduct data transaction and model calibration.

Calibration of the natural fire model to describe the real fire behaviour is to pursue an optimised array of variables regarding the prediction quality of gas-phase temperatures and thermal responses of structural members. For the far field, the thermal boundary near the ceiling is dependent on the temperature of smoke layer, which is an input of fire model as \(T_s\). Hence, the heat flux \(q_s''\) can be reckoned as virtually measured value by heat flux gauges expose to smoke:

$$\begin{aligned} q_s'' = h(T_s-T_a)+ (\varepsilon \sigma T_s^4-\varepsilon \sigma T_a^4) \end{aligned}$$
(11)

For the near field to represent the heat from flames, a \(\Delta q''\) is used to reflect the additional heat flux induced by the higher heating impact due to the semi-confined smoke layer, which can be denoted as \(\Delta q'' = q''_{confined} - q''_{unconfined}\). For the growing mode, the proposed fire model tends to employ the Alpert jet fire model as current approximation. The heat fluxes are calculated using \(T_g\) in Eqs. 12 similar to the calculation in Eq. 11, which is added by a \(\Delta q''\) introduced as a variable to represent the smoke induced additional heat flux. The combined heat flux can be overwritten by \(q_s''\) if it is smaller, which indicates the far field. When the fire flames become high enough to reach the ceiling, EC1 localised fire model is used with similar modification to consider the semi-confined condition in large compartments.

$$\begin{aligned} q''& = 120, q_{EC}''+ \Delta q'' \geq 120; \end{aligned}$$
(12)
$$\begin{aligned} q''& = q_{EC}''+ \Delta q'', q_s'' < q'' < 120; \end{aligned}$$
(13)
$$\begin{aligned} q''& = q_s'', q_{EC}''+ \Delta q''\leq q_s'' \end{aligned}$$
(14)

where \(q_{EC}''\) is the original heat flux given by the EC1 localised fire model, which is added with the smoke induced variable \(\Delta q''\). The summed heat flux shall be lower than the maximum 120 kW/m\(^2\) as suggested by large localised fire test data, and it will be substituted by the far field \(q_s''\) when \(q_{EC}''+ \Delta q''\) is lower than \(q_s''\). This has been plotted in Fig. 8 as the modified EC1 fire model. The variables dominating the near field (intense burning area) may include: the central location of the burning area, the size of the local fire represented by the heat release rate (\(\dot{Q}\)), the nominal burning dimension (D), and the additional heat fluxes (\(\Delta q''\)).

Figure 10
figure 10

Application interface between Python interpreter and thermal analysis module

As shown in Fig. 10, these specific Python functions have been added to obtain the variables of the natural fire model. The HTAnalyze command can set up a number of monitoring time steps as a looped input argument in the Python script. This looped function throughout the duration of fire creates a series of checkpoints to evaluate the loss function and adjust the fire model correspondingly. A SetFirePars function is responsible to configure various variables for near field and far field. Meanwhile, an HTOutput function can be used to obtain the values of current variables in the fire model, while the heat fluxes at various locations can be generated by the fire model and retrieved using the function GetFireOut. The heat fluxes can be potentially compared to the heat fluxes measured using heat flux gauges in the real fire test. To evaluate the loss of model prediction within the optimisation process, such as the Bayes Optimisation (BO) package, the loss function can be formed based on the gas-phase temperatures and the temperature histories inside the structural members. The HTOutput function with nodes is responsible to monitor the temperature, which can be directly read by the Python interpreter and stored as a list of float type values. Moreover, these values can be directly transacted to Optimisation packages and plugged into the loss function, and the optimised parameters of the natural fire model can be settled in the fire model.

5.3 Preliminary Demonstration of Smart Application Interface for Natural Fire Model

The first attempt is to search for a suitable \(\Delta q''\) to reflect the smoke layer effect of the localised fire test discussed earlier. The thermal response of steel beam modelled using OpenSees and the modified localised fire model has been shown in Fig. 7, where the value of \(\Delta q''\) is taken as 13 kW/m\(^2\). The searching principle is to find the minimum Err calculated as below:

$$\begin{aligned} Err = \frac{1}{n}\sum \frac{|T_{model,i}-T_{test,i}|}{T_{test,i}}w_i \end{aligned}$$
(15)

where \(T_{model,i}\) is the beam flange temperature predicted the fire model at monitored location i, and \(T_{test,i}\) is the test measured temperature. n is the number of monitored locations or data points, while \(w_i\) is the weight ratio for each one. Table 1 shows the errors of prediction using various \(\Delta q\), and the error changes when modifying the weight ratio (\(w_{T>400}\)) for data points where \(T_{test,i}\) is higher than \(400^{\circ }\)C. As the ratio \(w_{T>400}\) changing from 0.5 to 5 to 10 and the ratio for other data points remain 1, the \(\Delta q\) corresponding to the minimum error changes from 12 kW/m\(^2\) to 13 kW/m\(^2\) to 14 kW/m\(^2\). This suggests that reasonable prioritisation for high temperature region can be adopted since the structural members are more sensitive to temperatures over \(400^{\circ }\)C. It should be noticed that the value of \(\Delta q''\) may change when the heat transfer parameters for radiation and convection vary in the near field model. Here the modifier is only applied to approximate the resultant heating impact from localised burning with a confined smoke layer.

Table 1 Discrepancy of temperature prediction using various \(\boldsymbol{\Delta}\) q and weight ratio

The second attempt is to use the above discussed interface to calibrate the proposed natural fire model to describe the fire behaviour in a real test: the Malveira fire test [6]. This full-scale fire test was conducted in a real building compartment, and the internal dimensions of the compartment were approximately 21.0 m in length, 4.7 m in width, and 2.85 m in height. There were five windows located along the front wall of the compartment provide sufficient ventilation. Wood cribs (\(16.8\ \hbox {long} \times 2.4\hbox {m}\ \hbox {wide}\)) were used for fuel supply with an intended fuel load as 420 MJ/m\(^{2}\), corresponding to the suggested design load in EN1991-1-2 [24]. A 2.4m line fire was used to ignite the wood crib and the whole fire test lasted for 241 min until being terminated by researchers because of entering intense fully developed fire. A total of 24 thermal couple trees (8 rows and 3 trees per row) were used to measure the gas-air temperatures, which consists of 8 thermal couples on each tree. The locations of these thermal couple trees along the centre line are 2.33 m, 4.66 m, 7 m, 9.33 m, 11.66 m, 14, 16.33 m, 18.66 m as estimated from the paper. The contour plots of the temperature distribution were presented as well, and the plot for 160 min and 237 min are shown in Fig. 11. These two time steps are compared to the model prediction by employing the developed Python-OpenSees infrastructure and Bayesian Optimisation package.

Figure 11
figure 11

Gas temperature contour plots of the full-scale compartment fire at 160 min and 237 min [6]

Bayesian Optimisation(BO) was developed by Mockus [38, 39], which can be used as one of the optimisation packages and commonly used in machine learning process. It is here employed to find the optimised combination of multiple variables when the objective function is unknown or the derivatives of the objective function about the variables are unknown. For the purpose of demonstration, other methods may be better options and can be further investigated in the follow-up work. The variables of the natural fire model are listed as the HRR(\(\dot{Q}\)), the nominal diameter of the localised burning area (D), the temperature of the smoke layer (\(T_s\)) and the smoke induced additional heat flux \(\Delta q\).

Figure 12
figure 12

Obtaining variables for the natural fire model at various time steps using Bayesian Optimisation: a 160 min; b 237 min

Figure 13
figure 13

Ceiling temperature distributions measured in the test and predicted by the model

When the fire remains growing at 160 min, the near field gas temperature calculated by Alpert model is only sensitive to the HRR of the fire source. As the fire develops to impinge the ceiling, the different combination of HRR (\(\dot{Q}\)) and the diameter (D) can change the shape of heat flux distribution curve but it is not efficient when the density of reference temperature data is rather limited (only 8 thermal couple trees along the centre line). One addition to the model efficiency is to consider the relationship of HRR and D by specifying the range of the heat release rate per area as a variable, which would range in (50–800) kW/m\(^2\) as suggested by Hopkin et al. [40]. The searching processes (as blue stars) using the developed infrastructure are presented in Fig. 12a and Fig. 12b for the time steps corresponding to the temperature plot in Fig. 11. Thermal analyses are performed during the optimisation procedure as modelling a number of probes (0.1 mm steel sheet) in the compartment for gas phase temperatures. The green star shown in Fig. 12a indicates the optimised values for the \(\Delta q\) and the HRR, which are 5.82 kW/m\(^2\) and 0.417 MW respectively. For the time step of 237 min, the optimisation is towards three variables:\(T_s\), HRR and D. To visualise the optimisation procedure, the smoke temperature obtained as \(424^{\circ }\)C is then as a fixed input and then the 2D plot can be presented as Fig. 12b. The green star indicates the obtained values of \(\Delta q\) and the HRR (\(\dot{Q}''\)) as 24.56 kW/m\(^2\) and 2.445 MW, respectively. The nominal diameter D is estimated as 2.8 m. Referring to the test measurement and observation, the mass loss rates at 160 min and 237 min are measured as 67 g/s and 160 g/s. Hidalgo et al. suggested in the paper that the heat of combustion for the wood cribs may range from 12.8 MJ/kg to 20.4 MJ/kg [6]. Therefore the estimated HRR ranges are 0.86–1.37 MW at 160 min and 2.05–3.26 MW at 237 min, which indicates that the current model predicts a lower HRR at the growing stage and relatively reasonable HRR at the later travelling stage when fire flames approach the ceiling.

The gas-phase temperatures modelled using the optimised variables of fire models are compared to the test data, as shown in Fig. 13. At 160 min, the near field temperature distribution predicted by the model is of a compact shape, which is due to the assumption of Alpert Jet fire model. At 237 min, the far field according to the test shows two different layered temperatures. On the left-hand side, the smoke temperature reads around \(303^{\circ }\)C, while a higher temperature of \(545^{\circ }\)C can be found on the right-hand side. This may be due to the ventilation driven flames and the partial ignition of ceiling material. To summarise, the current natural fire models obviously are not sophisticate enough to address the real fire scenarios at various stages. With the input of fire dynamics research and based on the modelling framework proposed in this paper, more suitable mathematical forms of natural fire models can be obtained and potentially applied in fire safety engineering for buildings of various open plan compartments.

6 Conclusions

In this paper, the recent development for thermal analysis and application interfaces in OpenSees has been presented. Tcl or Python interpreters have been developed to facilitate the use of the OpenSees thermal analysis infrastructure. Particularly the Python interpreter is employed to co-work with the OpenSees infrastructure and Python packages to establish a framework for modelling natural fire behaviour of localised burning nature. A few conclusions can be made here:

  1. 1.

    A heat transfer module has been developed and extended in OpenSees to perform thermal analyses for structural components subjected to various scenario based fires, which can be idealised uniform fires or idealised non-uniform fires such as a localised fire, a travelling fire, and a natural fire as proposed in our vision.

  2. 2.

    Tcl and Python interpreters have been made available for performing thermal analyses in OpenSees, and being facilitated by a newly added mesh tool in creating models and generating data output.

  3. 3.

    The Python interpreter has been further extended for calibrating the localised fire models to represent the natural fire behaviour. Additional heat fluxes due to smoke layer have been found necessary when relating the fuel consumption to the actual thermal impact.

  4. 4.

    A framework for natural fire modelling is discussed along with the vision proposed for future fire modelling, which are followed by the preliminary results using the developed framework to model the localised fire test with smoke layer and the Malveira travelling fire test.

  5. 5.

    Further modification should be introduced with more variables to describe the natural fires in mathematical forms. Further work using the proposed infrastructure and interface is ongoing. Ideally a prediction model can be trained for describing natural fire development and can be used for structural fire safety design.