Fires can be simulated with an inert (non-reacting) fluid in which a heat source is added to a volume or a reacting fluid in which a fuel source is typically added at a surface. See below:

Inert Fire Modelling

--------------------

#

# Fire Source

#

For inert fire simulations a source of heat is added to a source volume. This type of simplification is appropriate if accurate predictions of the shape of the flame and the near field region of the fire are not important.

The FireEfficiency parameter determines how much of the fire power is added as heat. It can be used to account for the combustion efficiency. In well ventilated fires with clean burning fuels this is likely to be quite high (0.9-1.0).

Radiation should always be modelled. Radiative heat fluxes from the fire zone can be significant. The total fire power will be split between the radiative and convective heat fluxes from the fire zone. If radiation is not being modelled then the efficiency needs to be reduced to account for the fact that all the power is dissipated by convective/diffusive heat fluxes only.

It is important to use a sensible size for the fire volume which will produce sensible temperatures. A useful strategy is to use CEL to set up a source region so that the size of the source can be easily changed, which allows for rapid testing of different sizes without having to generate a new mesh each time. This strategy becomes essential for modelling fires (or any source regions) that grow in time and is described in ANSYS solution number 541877. The mesh needs to be sufficiently fine in the fire region to accommodate any likely changes in size. It is then a simple matter to change the fire size and restart the calculation until an acceptable fire temperature is obtained. Once a suitable size has been obtained the mesh can be modified if desired.

The example below is for a fire in which the heat source is added to a cylindrical volume. The minVolume and minRadius parameters are used to constrain the minimum source volume to be similar to the smallest mesh volume.

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

xFire = 5 [m]

yFire = 2.5 [m]

zFire = 0 [m]

FireRadius = max(0.25 [m], minRadius)

FireHeight = FireRadius

FireEfficiency = 0.9

FirePower = 0.5 [MW] * FireEfficiency

rSource = sqrt((x-xFire)^2 + (y-yFire)^2)

hSource = z-zFire

insideSource = step((FireRadius-rSource)/unitL)*step((FireHeight-hSource)/unitL)

SourceVolume = volumeInt(SourceFlag)@Fire Subdomain

heatSource = insideSource*FirePower/max(SourceVolume, minVolume)

minVolume = minVal(Volume of Finite Volumes)@Fire Subdomain

minRadius = (minVolume/pi)^(1/3)

unitL = 1 [m]

END

END

ADDITIONAL VARIABLE: SourceFlag

Option = Definition

Tensor Type = SCALAR

Units = [ ]

Variable Type = Unspecified

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: SourceFlag

Additional Variable Value = insideSource

Option = Algebraic Equation

END

END

.

SUBDOMAIN: Subdomain 1

SOURCES:

EQUATION SOURCE: energy

Option = Source

Source = heatSource

END

END

END

.

END

.

END

Cylindrical source volumes tend to produce flame heights that are quite a bit higher than the source height. A conical source region will produce a flame height closer to the height of the source region, eg:

LIBRARY:

CEL:

EXPRESSIONS:

BaseRadius = max(0.25 [m], minRadius)

FireHeight = 2*BaseRadius

FireRadius = BaseRadius*(1-hSource/FireHeight)

END

END

END

#

# Soot modelling

#

Soot is modelled as an additional variable having a specified volumetric source in the fire region. The soot yield is specified as a fraction of the fuel mass source. Values for soot yields for various fuel types are available in the literature and are dependent on how cleanly the fuel burns.

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

sootYield = 0.05

FuelHeat = 15 [MJ kg^-1]

FuelMassSource = FirePower/FuelHeat

massSource = insideSource*FuelMassSource/max(SourceVolume, minVolume)

sootSource = sootYield * massSource

END

END

ADDITIONAL VARIABLE: soot

Option = Definition

Tensor Type = SCALAR

Units = [ ]

Variable Type = Specific

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: soot

Kinematic Diffusivity = 1.0E-5 [m^2 s^-1]

Option = Transport Equation

END

END

.

SUBDOMAIN: Subdomain 1

SOURCES:

EQUATION SOURCE: soot

Option = Source

Source = sootSource

END

END

END

.

END

.

END

The radiation field can be coupled to the gas temperatures via the soot mass fraction by setting the fluid absorption coefficient equal to:

GasAbs = 0.01 [m^-1] + max(6*density*soot/(smokeDensity*smokeDiameter), 0.0 [m^-1]).

smokeDensity = 2000 [kg m^-3]

smokeDiameter = 1.0E-6 [m]

The smoke diameter is the effective mean diameter of smoke particles and is essentially a free parameter that determines the degree of coupling between the gas and the radiation field. The formula above is derived from the emission from black, non-interacting spheres at the same temperature as the gas they are immersed in.

#

# Visibility

#

Visibility can be calculated on a local basis using the light-reflecting visibility for an infinite homogenous medium having a given local soot concentration [ref = DiNenno P.J., Handbook of Fire Protection Engineering, NFPA, Quincy, MA, USA, 1990.]

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

c1 = 3.95E-4 [kg m^-2]

visibility = min((c1/max(soot*density, 1e-10[kg m^-3])), 1e3 [m])

END

END

ADDITIONAL VARIABLE: Visibility

Option = Definition

Tensor Type = SCALAR

Units = [m]

Variable Type = Unspecified

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: Visibility

Additional Variable Value = visibility

Option = Algebraic Equation

END

END

.

END

.

END

#

# Time stepping

#

Buoyant flows can be difficult for the steady state solver to converge. It is often beneficial to use the transient solver even for a steady state solution. Time steps of around 1s may be possible for an inert fire model. The steady state solver can be run initially with auto time stepping. The time steps reported by the auto time stepping can by used as a guide for setting a transient time step.

#

# Transient fires

#

The power output of a transient fire tends to be described by a quadratic growth phase (P = a t^2) up to some constant maximum power (Pmax) achieved at some time (tg) which is the fire growth time. The size of the quadratic coefficient (a) determines the rate of fire growth.

National Fire Protection Association (NFPA) standardized fire growth curves:

Fire growth rate a (W/s^2)

Slow 2.9

Medium 12

Fast 47.

The fire size for the maximum power can be determined using the procedure above for a steady state fire. The power of a real fire tends to grow proportional to the cross sectional (floor) area of the fire. However, the constant of proportionality is different for differing fuels, and environmental conditions (wind, outdoor/indoor, ventilation, confinement, etc) hence the need to determine a size which gives a sensible temperature as described above. Also, real fires are typically fuelled by evaporation from a surface area, whereas the inert model described here distributes the fire power over a volume. To be consistent with the source modelling, the fire power should be set to be proportional to the source volume:

FireRadius = max((FirePower/MaxPower)^(1/3) * MaxRadius, minRadius)

If the fire power was to be set to be proportional to the area, the power density would be inversely proportional to the radius and grow as the radius shrinks, leading to spurious higher flame temperatures at smaller radii and the danger of extremely high power densities and temperatures at the start of the simulation (the power density would tend to infinity as the radius tends to zero).

The inert fire approximation is not expected to produce accurate solutions for the flame shape or the near field region, so the particular growth law for the radius is not important. What matters is maintaining sensible flame temperatures. If more accuracy than this is required you should use a combustion model.

Combustion Fire Modelling

-------------------------

#

# Fire Source

#

For combusting fire simulations a mass source of fuel is typically added over some area at a boundary such as a floor.

The FireEfficiency parameter determines how much of the fire power is converted in to a fuel source. It can be used to account for the combustion efficiency. In well ventilated fires with clean burning fuels this is likely to be quite high (0.9-1.0).

Radiation should always be modelled. Radiative heat fluxes from the fire zone can be significant. The total fire power will be split between the radiative and convective heat fluxes from the fire zone. If radiation is not being modelled then the efficiency needs to be reduced to account for the fact that all the power is dissipated by convective/diffusive heat fluxes only.

When specifying a power, the fire size needs to be set such that it produces an appropriate fire temperature. A useful strategy is to use CEL to set up a source region so that the size of the source can be easily changed. This strategy becomes essential for modelling fires (or any source regions) that grow in time and is described in ANSYS solution number 541877. The mesh needs to be sufficiently fine in the fire region to accommodate any likely changes in size.

For a combusting calculation the solver reports the enthalpy per mol [J/mol] of reaction at reference conditions. The heat released by a kilogram of fuel can be obtained by dividing the molar enthalpy of the reaction by the molecular weight of the fuel.

The example below is for a fire in which the fuel source is added over a circular area. The minRadius and minArea parameters are used to constrain the minimum source area to be similar to the smallest mesh area.

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

xFire = 5 [m]

yFire = 2.5 [m]

zFire = 0 [m]

FireRadius = max(0.25 [m], minRadius)

FireEfficiency = 0.9

FirePower = 0.5 [MW] * FireEfficiency

rSource = sqrt((x-xFire)^2 + (y-yFire)^2)

insideSource = step((FireRadius-rSource)/unitL)

SourceArea = areaInt(SourceFlag)@Floor

FuelHeat = 8.0235E+05 *1000 [J/kmol] /16.04 [kg/kmol]

FuelMassSource = FirePower/FuelHeat

massSource = insideSource * FuelMassSource/max(SourceArea, minArea)

minRadius = (minVal(Volume of Finite Volumes)@Domain /pi)^(1/3)

minArea = pi*minRadius^2

unitL = 1 [m]

END

END

ADDITIONAL VARIABLE: SourceFlag

Option = Definition

Tensor Type = SCALAR

Units = [ ]

Variable Type = Unspecified

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: SourceFlag

Additional Variable Value = insideSource

Option = Algebraic Equation

END

END

.

BOUNDARY: Floor

BOUNDARY SOURCE:

SOURCES:

EQUATION SOURCE: CH4.mf

Flux = massSource

Option = Flux

END

EQUATION SOURCE: soot

Flux = sootSource

Option = Flux

END

END

END

END

.

END

.

END

#

# Soot modelling

#

Soot is modelled as an additional variable having a specified mass source over the fire source area. The soot yield is specified as a fraction of the fuel mass source. Values for soot yields for various fuel types are available in the literature and are dependent on how cleanly the fuel burns.

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

sootYield = 0.05

sootSource = sootYield * massSource

END

END

ADDITIONAL VARIABLE: soot

Option = Definition

Tensor Type = SCALAR

Units = [ ]

Variable Type = Specific

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: soot

Kinematic Diffusivity = 1.0E-5 [m^2 s^-1]

Option = Transport Equation

END

END

.

BOUNDARY: Floor

BOUNDARY SOURCE:

SOURCES:

EQUATION SOURCE: CH4.mf

Flux = massSource

Option = Flux

END

EQUATION SOURCE: soot

Flux = sootSource

Option = Flux

END

END

END

END

.

END

.

END

The radiation field can be coupled to the gas temperatures via the soot mass fraction by setting the fluid absorption coefficient equal to:

GasAbs = 0.01 [m^-1] + max(6*density*soot/(smokeDensity*smokeDiameter), 0.0 [m^-1]).

smokeDensity = 2000 [kg m^-3]

smokeDiameter = 1.0E-6 [m]

The smoke diameter is the effective mean diameter of smoke particles and is essentially a free parameter that determines the degree of coupling between the gas and the radiation field. The formula above is derived from the emission from black, non-interacting spheres at the same temperature as the gas they are immersed in.

#

# Visibility

#

Visibility can be calculated on a local basis using the light-reflecting visibility for an infinite homogenous medium having a given local soot concentration [ref = DiNenno P.J., Handbook of Fire Protection Engineering, NFPA, Quincy, MA, USA, 1990.]

#

# CCL Example

#

LIBRARY:

CEL:

EXPRESSIONS:

c1 = 3.95E-4 [kg m^-2]

visibility = min((c1/max(soot*density, 1e-10[kg m^-3])), 1e3 [m])

END

END

ADDITIONAL VARIABLE: Visibility

Option = Definition

Tensor Type = SCALAR

Units = [m]

Variable Type = Unspecified

END

END

FLOW: Flow Analysis 1

.

DOMAIN: Default Domain

.

FLUID MODELS:

ADDITIONAL VARIABLE: Visibility

Additional Variable Value = visibility

Option = Algebraic Equation

END

END

.

END

.

END

#

# Time stepping

#

Buoyant flows can be difficult for the steady state solver to converge. It is often beneficial to use the transient solver even for a steady state solution. Time steps of around 0.3s are typical for a combusting model. The steady state solver can be run initially with auto time stepping. The time steps reported by the auto time stepping can by used as a guide for setting a transient time step.

#

# Transient fires

#

The power output of a transient fire tends to be described by a quadratic growth phase (P = a t^2) up to some constant maximum power (Pmax) achieved at some time (tg) which is the fire growth time. The size of the quadratic coefficient (a) determines the rate of fire growth.

National Fire Protection Association (NFPA) standardized fire growth curves:

Fire growth rate a (W/s^2)

Slow 2.9

Medium 12

Fast 47.

The fire size for the maximum power can be determined using the procedure above for a steady state fire. The fire power tends to grow proportional to the cross sectional (floor) area of the fire. However, the constant of proportionality is different for differing fuels and environmental conditions (wind, outdoor/indoor, ventilation, confinement, etc) hence the need to determine a radius at maximum power (maxRadius) which gives a sensible temperature as described above. The radius at lower powers is then described by

FireRadius = max((FirePower/MaxPower)^(1/2) * MaxRadius, minRadius)

#

# Alternative fire source specifications

#

If both the area and fuel injection/evaporation rate are known, the area can be explicitly meshed and the fuel source explicitly specified.

FuelMassSource = <constant> [kg m^-2]

It is also possible to construct more dynamic boundary conditions. For example, for liquid fuels, the area could be fixed (for example representing a tray of liquid fuel) and the fuel evaporation rate can be computed by evaluating the incident radiative heat flux over the surface of the fuel. The dynamic nature of this type of boundary condition would mean that the solver has to work harder to obtain a solution.