navier-stokes equations for 2D flow down a porous pipe

Hi,

I’m quite new to maple so I need a bit of help. I am trying to solve the Navier-Stokes equations (NSE) in 2D along an infinite channel  which has fluid being sucked out of it through the walls.

u/∂t + (u∙grad)u=-(1/ρ)grad(p)+ (nu)grad^2u

I need to write down the NSE.
u=(u,v,0) is the velocity of the fluid.
The flow is steady so ∂u/∂t=0.
I need to take the curl of the NSE to eliminate the pressure term as taking the curl of
gradp=0.

So we have:
curl[(u∙grad)u]=(nu)curl[grad^2u]

Now, because I’m using a 2D flow I need to use stream functions. So we say u=∂ψ/∂y and v=-∂ψ/∂x. where ψ=wxF(η) where w is the velocity in the y-direction at the wall and η=y/a. +a and –a are the heights of the channel walls.

Now I need to substitute all these facts into the NSE to get a forth order ODE.

I think the forth order ODE should be

F’’’’=R(F’F’’-FF’’’)                          (1)
R is the Reynolds number R=wa/(nu)

The boundary conditions are
u=0,v=-w at y=a
u=0,v=w at y=-a
therefore
F’(1)=0, F’(-1)=0, F(1)=F(-1)=1

I then need to go on to say that When R=0
We have a forth order ODE which is easy to solve
F’’’’=0 with the same boundary conditions.
I think it will give a solution of
F(η)= -(1/2)η^3+(3/2)η
I need to plot this.

I then need to go on so say that for small R we can write F as a power series.

F(η)=F_0(η)+RF_1(η)+R^2F_2(η)+…

Now I need to use this substitution in the equation (1) and equate powers of R.

For R to the power 0 we should get F_0’’’’=0
Boundary conditions are the same as before but with F_0. I need to keep looking at powers of R to get more and more accurate solutions. If anyone can even help getting me started on this it would be very greatly appreciated. I don’t expect someone to just go through all of this but I would be most grateful for any help on any part of this.

Thanks

MJ

Robert Israel's picture

DE

If those are your differential equation and boundary conditions, the solution is simply F(y) = 1.  But I think you want F(-1) = -1.  Here's how I might proceed.
 

Your differential equation:

> de:= diff(F(s,R),s$4)-R*(diff(F(s,R),s)*diff(F(s,R),s$2)-F(s,R)*diff(F(s,R),s$3));   

Make it into a series in powers of R

> series(eval(de, F(s,R)=add(f[k](s)*R^k,k=0..5)),R);

Extract individual differential equations for each power up to R^5.

> des:= [seq(coeff(%,R,k),k=0..5)];

Define a function to make boundary conditions for f[k].

> bc:= k -> (f[k](-1)=`if`(k=0,-1,0),f[k](1)=`if`(k=0,1,0),D(f[k])(-1)=0,D(f[k])(1)=0);

Solve the boundary value problems for each power.

> for k from 1 to 6 do
   f[k-1]:= unapply(rhs(dsolve({des[k],bc(k-1)})),s)
 end do;

Here is a plot of the solutions for R=0 (in red) and R=20 (in blue).

> plot([f[0](s), add(f[k](s)*20^k, k=0..5)], s = -1 .. 1, colour=[red, blue]);

thanks very much. that was a

thanks very much. that was a big help. I understand how this works but there is one part i don't understand. would you mind explaining it to me please?

for k from 1 to 6 do
   f[k-1]:= unapply(rhs(dsolve({des[k],bc(k-1)})),s)
end do;

in this for loop what does the unapply do? this is the only section i was confused on.

thanks

mj

gkokovidis's picture

unapply

The unapply command used here in conjunction with the rhs(right hand side) command  takes the output from dsolve and turns it into a "functional" operator.  The help pages have examples that clarify this command.  ?unapply to open up the help page.  Without this, f[0](s)  would return an emplty plot.

 

Regards,
Georgios Kokovidis
Dräger Medical


thank you very much

thank you very much

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
}