Flare radiation
In asset after asset I keep seeing structural steel corrode at a rate far higher than they are presumed to, especially when they are in the vicinity of a flare. A common rule of thumb is that corrosion rate can roughly double for every 10°C increase in temperature, though this can vary depending on the specific environment and type of steel.
Arrhenius equation puts this phenomenon plainly — that there is non-linear relationship between chemical reaction and temperature. Interestingly, Process / Mechanical Engineers do often correctly assess the radiated field and even map the sphere of influence. So, there is a need to suitably protect structures from exposure, for it can be a costly and messy affair to rectify later.
If radiated energy is available, then temperature can be calculated as follows:
$$ T = \left(\frac{E}{\sigma}\right)^\frac{1}{4} $$
where,
- E – radiated energy, typically in kW/$m^2$, and
- $\sigma$ – Stefan-Boltzmann constant (=5.670E-11 kW/($m^2 K^4$)
It should be noted that surface temperatures are usually 20–30°C higher than the above. The elevated temperatures should be instructive enough to consider suitable thermal shielding (e.g. coatings) to prevent rapid and premature deterioration of steel.
Plot code
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 2025 C Kunte
import numpy as np
import matplotlib.pyplot as plt
# Constants
sigma = 5.670e-8 # Stefan-Boltzmann constant in W/m²K⁴
E0 = (
100 * 1000
) # Initial energy in W/m² (100 kW/m² converted to W/m²)
# Temperature range
E_min = 0.5 # in kW/m² (converted to W/m²)
E_max = 2.0 # in kW/m² (converted to W/m²)
num_points = 500 # Number of points for the plot
# Energy range (in W/m²)
E = np.linspace(E_min * 1000, E_max * 1000, num_points)
# Calculate the corresponding temperature using the Stefan-Boltzmann
# equation
T = (E / sigma) ** (1 / 4)
# Convert temperature from Kelvin to Celsius
T_Celsius = T - 273.15
plt.plot(
E / 1000,
T_Celsius,
label=r"$T = \left(\frac{E}{\sigma}\right)^{1/4}$",
color="blue",
)
plt.title("Temperature vs Energy")
plt.xlabel("Energy (kW/m²)")
plt.ylabel("Temperature (°C)")
plt.grid(True)
plt.legend()
plt.savefig("rad-temp.svg")
plt.show()