summaryrefslogtreecommitdiff
path: root/797/CH8/EX8.8.s
diff options
context:
space:
mode:
Diffstat (limited to '797/CH8/EX8.8.s')
-rw-r--r--797/CH8/EX8.8.s/8_08_solution.sce34
1 files changed, 34 insertions, 0 deletions
diff --git a/797/CH8/EX8.8.s/8_08_solution.sce b/797/CH8/EX8.8.s/8_08_solution.sce
new file mode 100644
index 000000000..f600b8ce0
--- /dev/null
+++ b/797/CH8/EX8.8.s/8_08_solution.sce
@@ -0,0 +1,34 @@
+//Solution 8-08
+WD=get_absolute_file_path('8_08_solution.sce');
+datafile=WD+filesep()+'8_08_example.sci';
+clc;
+exec(datafile)
+//function to evaluate friction factor using Colebrook's equation
+function [f] = colebrook(epsilon, D, Re)
+ f = 1;
+ fnew = (-1.8 * log10(6.9/Re + (epsilon/D/3.7)**1.11))**(-2); //Haaland equation
+ err = 0.0001; //maximum allowable error
+ //using fixed point iteration
+ while abs(fnew - f) > err
+ f = fnew;
+ fnew = (-2.0 * log10(epsilon/ D/3.7 + 2.51 / Re/sqrt(f)))**(-2);
+ end
+ return f;
+endfunction
+//unit conversion
+D = D / 100; //from [cm] to [m]
+Vdot = Vdot * 10**-3; //from [L/s] to [m^3/s]
+A_c = %pi / 4 * D**2; //
+V = Vdot / A_c;
+Re = rho * V * D / mu; //Reynold's number
+if Re < 4000 then
+ printf("As Re < 4000 flow is turbulent");
+end
+funcprot(0);
+f = colebrook(epsilon, D, Re); //friction factor
+sumK_L = K_Lentrance + 2 * K_Lelbow + K_Lvalve + K_Lexit;
+h_minor = sumK_L * V**2 / (2 * g);
+h_major = f* L/D * V**2 / (2 * g);
+h_L = h_minor + h_major;
+z1 = z2 + h_L; //from energy equation between 1 and 2
+printf("Free surface of first reservoir must be %1.2f m above the ground level to ensure water flow between two reservoirs at 6 L/s", z1); \ No newline at end of file