% blast_load.m -- Kinney-Graham serbest alan patlama parametreleri + normal yansima
% Kaynak: Kinney & Graham (1985), Explosive Shocks in Air; Rankine-Hugoniot (gamma=1.4)
W  = 100.0;     % kg TNT esdegeri
R  = 20.0;      % m, mesafe
P0 = 101.325;   % kPa, atmosfer basinci

Wc = W^(1/3);
Z  = R / Wc;

num = 808 * (1 + (Z/4.5)^2);
den = sqrt((1+(Z/0.048)^2) * (1+(Z/0.32)^2) * (1+(Z/1.35)^2));
Pso = P0 * num / den;

% DOGRU bicim: YALNIZCA son terim karekok icinde
tn  = 980 * (1 + (Z/0.54)^10);
tdn = (1+(Z/0.02)^3) * (1+(Z/0.74)^6) * sqrt(1+(Z/6.9)^2);
td  = tn / tdn * Wc;

% HATALI bicim (eski v2.0 kodu)
tdn_bad = (1+(Z/0.02)^3) * sqrt((1+(Z/0.74)^6) * (1+(Z/6.9)^2));
td_bad  = tn / tdn_bad * Wc;

Cr = 2 * (7*P0 + 4*Pso) / (7*P0 + Pso);
Pr = Cr * Pso;

fprintf('Z        = %.4f m/kg^(1/3)\n', Z);
fprintf('Pso      = %.2f kPa\n', Pso);
fprintf('td       = %.3f ms   (dogru bicim)\n', td);
fprintf('td_hatali= %.3f ms   (eski kod) -> %.1f kat hata\n', td_bad, td_bad/td);
fprintf('Cr       = %.4f\n', Cr);
fprintf('Pr       = %.2f kPa\n', Pr);
