For a Newtonian fluid the sinking final speed of a metal particle is given by this equation : enter image description here

while g is Gravitational acceleration , $\rho_P$ = is particle density , $\rho_F $ = is fluid density , $D_p$ = is particle diameter , and $C_D $ is given by Reynolds number function with the given values : enter image description here

Find the sinking speed of a metal particle with density=(7,850 $kg/m^3$) , that is sinking in water with density = (1,000 $kg/m^3$) , and viscosity = (0.001$PA*s$) as a function of particle diameter (in meters) in the range of 0.1mm and 0.15cm with a growth = 0.2mm . I need to display the answer with a graph using MATLAB.


it's a previous exam question, and I have no clue how to solve the question

My attempt

function [Ut]=myfunc(D_p)
%calculate the violecity Ut [m/s] of sphere in water
%Cd drag coefficient
%D_p the diameter of the sphere
%ru_p practicle density
%ru_f fluid density
%g acceleration of gravity [m/s^2]


for D_p=0.0001:0.0002:0.15;%[m] disp(D_p) end

function [Cd]=myfunc(Re)
    %calculate the drag coefficient Cd
    %Re reynpld number
    if Re<0.1
    elseif 0.1<Re<10^3
    elseif 10^3<Re<3.5*10^5
    elseif Re==350000
    elseif Re==400000
    elseif Re==500000
    elseif Re==700000
        disp ('Cd=0.00945')
    elseif Re==1000000
        disp ('Cd=0.110')
  • 1
    $\begingroup$ What have you tried so far? The exam question appears to be more about applying matlab than about the engineering/physics. (cryptic hint: Anything to with flow has to be soverd iterativly, outside a very few special cases) $\endgroup$
    – mart
    Jun 15 '20 at 8:13
  • $\begingroup$ @mart I'm sorry , I added my attempt , i'm new in matlab and not sure about anything iv'e wrote in this code. $\endgroup$
    – Mahajna
    Jun 15 '20 at 13:53

I think I understand where you are stuck - it appears (I don't "speak" Matlab) you're trying to solve u directly, without adressing that u goes into Re.

Here's what I'd do:

  • Guess $u$ for the smallest diameter, calculate $Re$ from this $u$ to arrive at a new $u'$. Repeat/Reiterate by calculating $Re$ and a new $u'$ until the difference between $u$ and $u'$ is negliblge (<1% or even <10% depending on what accuracy you need)
  • Repeat for all other diameters (I'd use the $u$ value from an adjectant diameter as a starting point to keep the iteration loop short)

This is a general theme in flow calculations: to compute flow velocity you need some sort of friction factor or $C_d$ value, this depends on $Re$ so it's also velocity dependent. I guess this is one reason, why charts for sinking speeds (or Moody diagrams for pipe friction factors) are so common, iterating through these calculations must be really tiring without a programmable computer.

  • $\begingroup$ I believe you exactly know what is my problem , 1) can't "speak MATLAB" , and the need to translate the question from my second language to my third language which is English . $\endgroup$
    – Mahajna
    Jun 15 '20 at 14:41
  • $\begingroup$ Is my answer clear enough, at least, so you can try this approach? $\endgroup$
    – mart
    Jun 15 '20 at 14:42
  • $\begingroup$ I've updated my attempt I believe that I have implemented your approach , but still i'm having errors which I couldn't solve . $\endgroup$
    – Mahajna
    Jun 15 '20 at 14:42
  • $\begingroup$ I don't see the iteration loop in the update. $\endgroup$
    – mart
    Jun 15 '20 at 14:44
  • $\begingroup$ the first iteration should start with the smallest diameter which is 0.1mm to 0.15cm and I need to increase by 0.2mm right ? $\endgroup$
    – Mahajna
    Jun 15 '20 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.