Can you modify my code?
Afficher commentaires plus anciens
clear all;
close all;
clc;
%% Constants
g = 9.81; % Acceleration due to gravity in m/s^2
mu = 8.9E-4; % Kinematic viscosity of air in m^2/s
rho_p = 2930; % Density of particles in kg/m^3
rho_f = 1000; % Density of fluid (water) in kg/m^3
dp = 125E-6 % particle size in m
D = 5.05 %
m1 = 40 % mass of CaCO3 in g
m2 = 60 % mass of CaCO3 in g
m3 = 80 % mass of CaCO3 in g
Vf = 1.5 % volume of the fluid in L
%% Import data
data = load('data.xlsx');
time = data(:,1); % time (s)
height1 = data(:,2); % height for concentration 40g (cm)
height2 = data(:,3); % height for concentration 60g (cm)
height3 = data(:,4); % height for concentration 80g (cm)
%% Concentration Calculation
Co = 3; % Initial concentration in kg/m^3
ho1 = max(height1); % initial heigh in com
ho2 = max(height2);
ho3 = max(height3);
Vs1 = m1/(rho_p*1000);
Vs2 = m2/(rho_p*1000);
Vs3 = m3/(rho_p*1000);
Co1 = Vs1/(Vs1+Vf);
Co2 = Vs2/(Vs2+Vf);
Co3 = Vs3/(Vs3+Vf);
C1 = (Co1 * ho_1) ./ height1;
C2 = (Co2 * ho_2) ./ height2;
C3 = (Co3 * ho_3) ./ height3;
%% Voidage Calculation
e1 = 1 - C1;
e2 = 1 - C2;
e3 = 1 - C3;
%% Gradient Calculation
dy1 = diff(height1);
dy2 = diff(height2);
dy3 = diff(height3);
dt = mean(diff(time));
grad1 = dy1/dt;
grad2 = dy2/dt;
grad3 = dy3/dt;
%% Reynolds Number Calculation
d = 0.0002; % Particle diameter in m
Re1 = abs(grad1) .* d ./ nu;
Re2 = abs(grad2) .* d ./ nu;
Re3 = abs(grad3) .* d ./ nu;
%% Terminal Velocity Calculation - Richardson's Correlation
Ar = (rho_p - rho_f) * g * D^3 ./ (mu);
n_R = fsolve(@(n) (4.8 - n)/(n - 2.4) - 0.43*Ar^(0.57)*(1 - 2.4*(dp/D)^2.4), 1);
Ut_R1 = Up1 ./ (e1.^n_R);
Ut_R2 = Up2 ./ (e2.^n_R);
Ut_R2 = Up3 ./ (e3.^n_R);
%% Terminal Velocity Calculation - Richardson-Zaki Equation
if Re1 < 0.3
n1 = 4.65;
elseif Re1 > 500
n1 = 0.4;
else
n1 = 2.78 - 2.72*log10(Re1);
end
Up1 = abs(grad1) .* d;
Utz1 = Up1 ./ (e1.^n1);
if Re2 < 0.3
n2 = 4.65;
elseif Re2 > 500
n2 = 0.4;
else
n2 = 2.78 - 2.72*log10(Re2);
end
Up2 = abs(grad2) .* d;
Utz2 = Up2 ./ (e2.^n2);
if Re3 < 0.3
n3 = 4.65;
elseif Re3 > 500
n3 = 0.4;
else
n3 = 2.78 - 2.72*log10(Re3);
end
Up3 = abs(grad3) .* d;
Utz3 = Up3 ./ (e3.^n3);
%% Average Terminal Velocity Calculation
Ut_avg1 = mean([Ut1, Utz1]);
Ut_avg2 = mean([Ut2, Utz2]);
Ut_avg3 = mean([Ut3, Utz3]);
I created the above code, but still need some help. I want to know how to find Up1, Up2 and Up3, which are different gradients from different concentrations. After that, I want to find Ut_averages using Utz and Ut_R at different times. Can you modify this? If you still need more clarification, let me know.

Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Fluid Dynamics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
