Hello everybody,
I am trying to understand how to perform a basic screening test using the Morris method. I am consulting the example from the textbook: “Engineering design via Surrogate Modelling: A practical guide”. The screenshot of the estimated means and the standard deviations from the textbook is attached.
Here is my implementation of the same using GlobalSensitivity.jl
----------------Code----------------------
using GlobalSensitivity
using Plots
function liftsurfw(design)
#= Symbol Parameter Typical light aircraft value (C172)
S_w -Wing area (ft^2) 174
W_fw -Weight of fuel in the wing (lb) 252
A -aspect ratio 7.52
Lambda -quarter-chord sweep (deg) 0
% q -dynamic pressure at cruise (lb/ft^2) 34
% lambda -taper ratio 0.672
% tc -aerofoil thickness to chord ratio 0.12
% N_z -ultimate load factor (1.5x limit load factor) 3.8
% W_dg -flight design gross weight (lb) ~2000
% W_p -paint weight (lb/ft^2) ~0.064
=#
S_w = design[1];
W_fw = design[2];
A = design[3];
Lambda = design[4]*pi/180;
q = design[5];
lambda = design[6];
tc = design[7];
N_z = design[8];
W_dg = design[9];
W_p = design[10];
W = 0.036*S_w^0.758*W_fw^0.0035*(A/cos(Lambda)^2)^0.6*q^0.006*lambda^0.04*(100*tc/cos(Lambda))^-0.3*(N_z*W_dg)^0.49 + S_w*W_p;
end
I have borrowed the above function from: Link
range = [[150,200],[220,300],[6,10],[-10,0],[16,45],[0.5,1],[0.08,0.18],[2.5,6],[1700,2500],[0.025,0.08]]
m=gsa(liftsurfw,Morris(num_trajectory=50000),range);
f=plot(m.means,sqrt.(m.variances),seriestype=:scatter)
However, the corresponding plots for means versus the std deviations is entirely different when compared with the textbook examples. What I am doing wrong here? Even the scale of the means and the standard deviations are completely different. Any pointers will be deeply appreciated.
Thank you!