summaryrefslogtreecommitdiff
path: root/764/CH6/EX6.10.b/solution6_10.sce
blob: baef0f20fb9cfb1b8844c7047378db6f7a507b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

//Function to round-up a value such that it is divisible by 10
function[v] = round_ten(w)
    v = ceil(w)
    rem = pmodulo(v,10)
    if (rem ~= 0) then
    v = v + (10 - rem)
    end
endfunction

//Obtain path of solution file
path = get_absolute_file_path('solution6_10.sce')
//Obtain path of data file
datapath = path + filesep() + 'data6_10.sci'
//Clear all
clc
//Execute the data file
exec(datapath)
//Calculate force required to shear the sheet W (N)
W = (%pi * d * t * Sus)
//Compressive stress in the screw sigmac (N/mm2)
sigmac = Syt/fs
//Core diameter of the screw dc (mm)
dc = ((4 * W)/(%pi * sigmac))^(1/2)
dc = ceil(dc)
//Obtain the correct number of starts for the screw n
for n = 1:1:%inf
    //Calculate the lead of the screw l (mm)
    l = n * p
    if (l > lmin) then
        break
    end
end
//Obtain the correct nominal diameter d in multiples of 10 (mm)
for d = dc:1:%inf
    d = round_ten(d)
    //Calculate the mean diameter of the screw dm (mm)
    dm = d - (0.5 * p)
    //Calculate the lead angle alpha (degree)
    alpha = atand(l/(%pi * dm))
    //Calculate the angle of repose (fi)
    fi = atand(mu)
    //Calculate the torque required Mt (N-mm)
    Mt = (W * dm * tand(fi + alpha))/2
    //Calculate the new core diameter dcNew (mm)
    dcNew = d - p
    //Calculate the stress in the screw CNew (N/mm2)
    CNew = ((W * 4)/(%pi * (dcNew^2)))
    //Calculate the torsional stress tau (N/mm2)
    tau = (16 * Mt)/(%pi * (dcNew^3))
    //Calculate the maximum shear stress tauMax (N/mm2)
    tauMax = (((CNew/2)^2) + (tau^2))^(1/2)
    //Calculate the afctor of safety fsNew
    fsNew = ((50/100)*Syt)/tauMax
    if(fsNew > fs)
        break
    end
end
//Calculate the efficiency of the screw eta (%)
eta = (tand(alpha)/tand(fi + alpha))*100
//Calculate the number of threads z
z = (4 * W)/(%pi * Sb * ((d^2) - (dcNew^2)))
z = ceil(z)
//Calculate the length of the nut L (mm)
L = z * p
//Calculate the shear stress in the screw tauS (N/mm2)
to = p/2
tauS = (W/(%pi * dcNew * to * z))
//Calculate the shear stress in the nut tauN (N/mm2)
tauN = (W/(%pi * d * to * z))
//Calculate the work done by the punch work (J)
work = (W * (t/2))/1000
//Work done by balls workB (J)
workB = work/(eta/100)
//Calculate the average angular velocity wavg (rad/s)
wavg = fsd/tf
//Calculate the maximum angular velocity wmax (rad/s)
wmax = 2 * wavg
//Calculate the mass of the one ball m (kg)
m = ((workB * 2)/(((Rm/1000)^2) * (%pi^2)))/2
//Calculate the diameter of the ball dia (mm)
dia = ((m * 6)/(%pi * dense))^(1/3)
//Print results
printf('\nScrew\n')
printf('\nNominal diameter of the screw(d) = %f mm\n',d)
printf('\nCore diameter of the screw(dcNew) = %f mm\n',dcNew)
printf('\nLead of the screw(l) = %f mm\n',l)
printf('\nNut\n')
printf('\nLength of the nut(L) = %f mm\n',L)
printf('\nMass of each ball(m) = %f kg\n',m)
printf('\nDiameter of each ball(dia) = %f mm\n',dia*1000)