Professional Documents
Culture Documents
Blast Pressure and Equivalent Wind Speed Calculation For The Flare
Blast Pressure and Equivalent Wind Speed Calculation For The Flare
Flare
The purpose of this spread sheet is to fit a curve to the given blast profile, and than based on
this curve calculate the equivalent wind speeds for the blast calculations.
Method: Several curves are fitted to the original data set, and then the one with larger correlation
is chosen for the blast profile.
Input data
Source: FPSO - Design Accidental Loads - HI39520 PERPLP - PG - 336 - 145, Table 4.5
Column 1 | Column 2
Height above | Blast Peak
base [m] | Overpressure [bar]
25 0.076
(Note: top and bottom lines are added to complete the data set
32.9 0.075 from top to bottom of flare tower)
41.2 0.079
49.6 0.041
data := 57.9 0.031
66.2 0.034
74.6 0.030
82.9 0.025
170 0.005
〈0〉 〈1〉
X := data Y := data
b
Power fit function y = a⋅ x + c
2
Guess := 2
Define a vector of guesses.
0
Fitted curve #1
−3.76 × 103
cpw := pwrfit( X , Y , Guess) cpw = 1.149 × 10− 5
3.761 × 103
Define a function using these coefficients, then define a range variable over
which to graph the function.
cpw1
f1( x) := cpw ⋅ x + cpw x := min( X) .. max( X)
0 2
Data Correlation
( →
)
cor 1 := corr f1( X) , Y
150
cor 1 = 0.922
X
100
x
50
0
− 0.02 0 0.02 0.04 0.06 0.08
Y , f1( x)
Quadratic fit function
k := 2 z := regress( X , Y , k)
3
Fitted curve #2 3
2
f2( x) := interp ( z , X , Y , x) z= 0.121
−3
−1.703 × 10
−6
6.016 × 10
Data Correlation
150
( →
)
cor 2 := corr f2( Y) , X
cor 2 = 0.829
X
100
x
50
0
0 0.02 0.04 0.06 0.08 0.1
Y , f2( x)
b⋅ x
Exponential curve fitting function ( f ( x) = a⋅ e + c)
0.144
efit := expfit( X , Y) efit = −0.022
2.759 10− 4
×
a := efit b := efit cc := efit
0 1 2
Fitted curve #3
b⋅ x
f3( x) := a⋅ e + cc
Data Correlation
( →
)
cor 3 := corr f3( X) , Y
cor 3 = 0.939
150
X
100
x
50
0
0 0.02 0.04 0.06 0.08
Y , f3( x)
Choosing the best fitting function ( )
max cor1 , cor2 , cor3 = 0.939
f_best_fit( x) := (
f1( x) if cor1 = max cor 1 , cor2 , cor 3 )
f2( x) if cor2 = max( cor 1 , cor2 , cor 3)
f3( x) otherwise
150
X
100
x
50
0
0 0.02 0.04 0.06 0.08
Y , f_best_fit( x)
2 ( f_best_fit( x) ) ⋅ bar
P_eq( x) :=
ρair
Equivalent Wind Speed as a function of Height [m/s]
180
162
144
126
108
x 90
72
54
36
18
0
0 50 100
P_eq( x)
Export to Excel
Range variables i := 1 .. trunc( max( X) + 2) zvar := i⋅ m
i
zvar
Udesign.var := P_eq
i
i m
R header := ( "Height_above_Base" "Height_above_MD" "Wind_speed_[m/s]" )
h deck Udesign.var
Wfinal := i i
i, 0 Wfinal := i − Wfinal :=
i, 1 m i, 2 m
( )
s
Outputcsv := stack R header , Wfinal
(
Write to CSV file LTD = WRITEPRN "API_wind.csv" , Outputcsv )
Excel export
Blast_WindProfile_Blast.xls
Outputcsv