Ecuaciones de Navier-Stokes. Estado transitorio (II)

Coordenadas cilíndicas

Fluido en un tubo de sección circular (I)

Se sitúa un fluido en un tubo horizontal de sección circular, de radio R. En el instante t=0, se establece un gradiente de presión a lo largo del eje Z

p x = p 2 p 1 x 2 x 1 = Δp l

En este apartado, vamos a resolver la ecuación diferencial en derivadas parciales

ρ f u z t = Δp l +η 1 ρ ρ ( ρ u z ρ )

Con la condición de contorno e inicial siguientes:

u z (R,t)=0,ρ=R,t0 u z (ρ,0)=0,0ρR,t=0

El fluido parte del reposo en el instante t=0

Ya hemos estudiado la solución de la ecuación diferencial independiente del tiempo, t, el estado estacionario

u z ( ρ, )= 1 4 Δp ηl ( R 2 ρ 2 )

El perfil de velocidades en el instante t, ux(ρ,t) es la suma del perfil en el estado estacionario y en el estado transitorio

u z (ρ,t)= 1 4 Δp ηl ( R 2 ρ 2 ) u z t (ρ,t)

Introducimos esta expresión en la ecuación diferencial, para obtener la correspondiente al estado transitorio

u z t t =υ 1 ρ ρ ( ρ u z t ρ )

Resolvemos esta ecuación diferencial en derivadas paraciales con las condiciones de contorno e inicial, siguientes

u z t (R,t)=0,ρ=R,t0 u z t (ρ,0)= 1 4 Δp ηl ( R 2 ρ 2 ),0ρR,t=0

Variables separadas

Expresamos la solución de la ecuación diferencial como producto de dos funciones una que depende de la variable ρ y otra que depende de la variable t

u z t (ρ,t)=X(ρ)T(t) 1 T dT dt =υ 1 X 1 ρ d dρ ( ρ dX dρ )

El miembro izquierdo, solamente depende de t y el derecho solamente de ρ. Transformamos una ecuación diferencial en derivadas parciales en un sistema de dos ecuaciones diferenciales

{ 1 υT dT dt = α 2 R 2 1 X 1 ρ d dρ ( ρ dX dρ )= α 2 R 2 { dT dt + α 2 υ h 2 T=0 d 2 X d ρ 2 + 1 ρ dX dρ + α 2 R 2 X=0

La solución de la primera ecuación diferencial es

T(t)= c 0 exp( α 2 υ R 2 t )

En la segunda hacemos primero, el cambio de variable r=αρ/R. Su solución se expresa en términos de funciones de Bessel

d 2 X d r 2 + 1 r dX dr +X=0 r 2 d 2 X d r 2 +r dX dr + r 2 X=0 X= c 1 J 0 (r)+ c 2 Y 0 (r) X= c 1 J 0 ( α R ρ )+ c 2 Y 0 ( α R ρ )

Dado que Y0(x)→∞ cuando x→0, el coeficiente c2=0

X(ρ)= c 1 J 0 ( α R ρ )

Aplicamos la condición de contorno en ρ=R

u z t (R,t)=X(R)T(t)=0,X(R)=0 J 0 ( α )=0, α k ,k=1,2,3...

αk son las raíces de la ecuación transcendente, J0(x)=0

La solución de la ecuación diferencial en derivadas parciales, es la superposición

u z t (ρ,t)= k=1 B k J 0 ( α k ρ R ) exp( α k 2 R 2 υt )

Los coeficientes Bk se determinan a partir de la condición inicial

u z t (ρ,0)= 1 4 Δp ηl ( R 2 ρ 2 ) 1 4 Δp ηl ( R 2 ρ 2 )= k=1 B k J 0 ( α k ρ R )

Teniendo en cuenta la relación de ortogonalidad

0 1 x J 0 ( k m x) J 0 ( k n x)dx ={ 0,mn 1 2 J 1 2 ( k m ),m=n

Resolvemos las integrales, haciendo el cambio de variable z=ρ/R.

k=1 B k 0 R J 0 ( α k ρ R ) J 0 ( α n ρ R ) ρ·dρ= 0 R 1 4 Δp ηl ( ρ 2 R 2 ) J 0 ( α n ρ R )ρ·dρ B k 0 1 J 0 2 ( α k z ) z·dz= 1 4 Δp ηl R 2 0 1 ( z 2 1 ) J 0 ( α k z )z·dz B k 1 2 J 1 2 ( α k )= 1 4 Δp ηl R 2 0 1 ( z 2 1 ) J 0 ( α k z )z·dz B k 1 2 J 1 2 ( α k )= 1 4 Δp ηl R 2 ( 4 α k 3 J 1 ( α k ) 2 α k 2 J 0 ( α k ) ) B k =2 Δp ηl R 2 1 α k 3 J 1 ( α k )

>> syms x k;
>> int((1-x^2)*besselj(0,k*x)*x,0,1)
 ans =(4*besselj(1, k))/k^3 - (2*besselj(0, k))/k^2

El estado transitorio es

u z t (ρ,t)=2 Δp ηl R 2 k=1 1 α k 3 J 1 ( α k ) J 0 ( α k ρ R ) exp( α k 2 R 2 υt )

El resultado final es la suma del estado estacionario y el estado transitorio

u z (ρ,t)= 1 4 Δp ηl ( R 2 ρ 2 )+2 Δp ηl R 2 k=1 1 α k 3 J 1 ( α k ) J 0 ( α k ρ R ) exp( α k 2 R 2 υt )

La velocidad máxima en el estado estacionario, se alcanza para ρ=0, en el eje Z

u m = 1 4 Δp ηl R 2

Dividimos entre um para que todas las magnitudes sean adimensionales

u z (ρ,t) u m =( 1 ρ 2 R 2 )8 k=1 1 α k 3 J 1 ( α k ) J 0 ( α k ρ R ) exp( α k 2 R 2 υt )

Representamos uz(ρ,t)/um en los instantes t=0.001, 0.01, 0.1, 1. Tomamos los 12 raíces αk de la ecuación transcendente J0(x)=0

function navier_stokes_12
    x=linspace(0,40,40);
    f=@(x) besselj(0,x);
    alfa=raices(f,x); 
  
    rr=linspace(-1,1, 400);
    uz=zeros(length(rr),1);
    hold on
    for t=[0.001 ,0.01,0.1,1]
        i=0;
        for r=rr
            i=i+1;
            uz(i)=1-r^2;
            for j=1:length(alfa)
                uz(i)=uz(i)-8*besselj(0, alfa(j)*r)*exp(-alfa(j)^2*t)
/(alfa(j)^3*besselj(1,alfa(j)));
            end
        end
        plot(uz,rr,'displayName',num2str(t))
    end  
    hold off
    grid on
    legend('-DynamicLegend','location','best')
    xlabel('u_z/u_m')
    ylabel('\rho/R')
    title('Perfil de velocidades')

    function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
    end

end

Actividades

Se pulsa el botón titulado Nuevo para observar el estado transitorio y su evolución hacia el estado estacionario

Fluido en un tubo de sección circular (II)

Se sitúa un fluido en un tubo horizontal de sección circular, de radio R. En el instante t=0, se desplaza el tubo con velocidad constante V a lo largo del eje Z

En este apartado, vamos a resolver la ecuación diferencial en derivadas parciales

ρ f u z t =η 1 ρ ρ ( ρ u z ρ ) u z t =υ( 2 u z ρ 2 + 1 ρ u z ρ )

Con la condición de contorno e inicial

u z (R,t)=V,ρ=R,t0 u z (ρ,0)=0,t=0

El fluido parte del reposo en el instante t=0

Hacemos los cambios de variable, obteniendo una ecuación diferencial en derivadas parciales con magnitudes adimensionales

u= V u z V ,x= ρ R ,τ= υt R 2 u τ = 2 u x 2 + 1 x u x

La condición de contorno e inicial son ahora

u(1,τ)=0,x=1,τ0 u(x,0)=1,τ=0

Variables separadas

Expresamos la solución de la ecuación diferencial como producto de dos funciones una que depende de la variable x y otra que depende de la variable τ

u(x,τ)=F(x)T(τ) F dT dτ =T( d 2 F d x 2 + 1 x dF dx ) 1 T dT dτ = 1 F ( d 2 F d x 2 + 1 x dF dx )

El miembro izquierdo, solamente depende de τ y el derecho solamente de x. Transformamos una ecuación diferencial en derivadas parciales en un sistema de dos ecuaciones diferenciales

{ 1 T dT dτ = λ 2 1 F ( d 2 F d x 2 + 1 x dF dx )= λ 2 { dT dτ + λ 2 T=0 d 2 F d x 2 + 1 x dF dx + λ 2 F=0

La solución de la primera ecuación diferencial es

T=Cexp( λ 2 τ )

En la segunda, hacemos primero, el cambio de variable y=λx. Su solución se expresa en términos de funciones de Bessel

x 2 d 2 F d x 2 +x dF dx + λ 2 x 2 F=0 y 2 d 2 F d y 2 +y dF dy + y 2 F=0,y=λx F(y)=A J 0 (y)+B Y 0 (y)

Dado que Y0(x)→∞ cuando x→0, el coeficiente B=0. La solución es

u(x,τ)=A J 0 (λx)exp( λ 2 τ )

Aplicamos la condición de contorno en x=1, u(1, τ)=0

u(1,τ)=A J 0 (λ)exp( λ 2 τ )=0 J 0 (λ)=0

λn son las raíces de la ecuación transcendente, J0(x)=0

La solución de la ecuación diferencial en derivadas parciales, es la superposición

u(x,τ)= n=1 A n J 0 ( λ n x)exp( λ n 2 τ )

Los coeficientes An se determinan a partir de la condición inicial

u(x,0)= n=1 A n J 0 ( λ n x) 1= n=1 A n J 0 ( λ n x)

Teniendo en cuenta la relación de ortogonalidad

0 1 x J 0 ( k m x) J 0 ( k n x)dx ={ 0,mn 1 2 J 1 2 ( k m ),m=n

El resultado es

0 1 x· J 0 ( λ m x)dx = n=1 A n 0 1 x J 0 ( λ n x) J 0 ( λ m x)dx 0 1 x· J 0 ( λ n x)dx = A n 0 1 x J 0 2 ( λ n x)dx A n = 0 1 x· J 0 ( λ n x)dx 1 2 J 1 2 ( λ n )

Simplificamos esta expresión, teniendo en cuenta la propiedad

0 1 x n+1 J n (ax)dx = 1 a J n+1 (a)

Obtenemos, finalmente

A n = 1 λ n J 1 ( λ n ) 1 2 J 1 2 ( λ n ) = 2 λ n J 1 ( λ n )

La solución u(x, τ) se expresa

u(x,τ)=2 n=1 1 λ n J 0 ( λ n x) J 1 ( λ n ) exp( λ n 2 τ )

Deshaciendo el cambio de variable

u= V u z V ,x= ρ R ,τ= υt R 2 V u z (ρ,t) V =2 n=1 1 λ n J 0 ( λ n ρ R ) J 1 ( λ n ) exp( λ n 2 υt R 2 ) u z (ρ,t)=V( 12 n=1 1 λ n J 0 ( λ n ρ R ) J 1 ( λ n ) exp( λ n 2 υt R 2 ) )

Representamos el perfil de velocidades uz(ρ,τ)/V, en función de ρ/R, para los instantes τ= 0.01, 0.1, 0.25, 0.5

function navier_stokes_21
    x=linspace(0,40,40);
    f=@(x) besselj(0,x);
    lambda=raices(f,x); 

    rr=linspace(-1,1, 400);
    uz=zeros(length(rr),1);
    hold on
    for tau=[0.01 ,0.1, 0.25, 0.5]
        i=0;
        for r=rr
            i=i+1;
            uz(i)=1;
            for j=1:length(lambda)
                uz(i)=uz(i)-2*besselj(0,lambda(j)*r)*exp(-lambda(j)^2*tau)
/(lambda(j)*besselj(1,lambda(j)));
            end
        end
        plot(uz,rr,'displayName',num2str(tau))
    end  
    hold off
    grid on
    legend('-DynamicLegend','location','best')
    xlabel('u_z/u_m')
    ylabel('\rho/R')
    title('Perfil de velocidades')

   function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
    end
end

Actividades

Se pulsa el botón titulado Nuevo para observar la evolución del perfil de velocidades del fluido en un tubo que se mueve con velocidad constante

Fluido en un tubo de sección circular (III)

Se sitúa un fluido en un tubo horizontal de sección circular, de radio R. En el instante t=0, se establece un gradiente de presión oscilante lo largo del eje Z

p z = ρ f c n cos( nωt ),n=1,2,3...

En este apartado, vamos a resolver la ecuación diferencial en derivadas parciales

ρ f u z t = p z +η 1 ρ ρ ( ρ u z ρ ) ρ f u z t = ρ f c n cos( nωt )+η( 2 u z ρ 2 + 1 ρ u z ρ )

Con las condiciones de contorno

u z (R,t)=0,ρ=R,t0

Buscamos una solución de la forma

u z ( ρ,t )=( f( ρ )exp( iωnt ) )

Donde el símbolo , indica la parte real de un número complejo. Introducimos en la ecuación diferencial en derivadas parciales

inω ρ f ( exp( iωnt ) )f( ρ )= ρ f c n cos( nωt )+η( d 2 f d ρ 2 + 1 ρ df dρ )( exp( iωnt ) ) d 2 f d ρ 2 + 1 ρ df dρ inω υ f= c n υ ,υ= η ρ f

La solución completa es la suma de ambas

f(ρ)=A J 0 ( α n ρ R i 3/2 ) c n inω

El coeficiente A se determina a partir de la condición de contorno

f(R)=0 A= c n inω J 0 ( α n i 3/2 )

La solución de la ecuación diferencial en derivadas parciales es

u z ( ρ,t )=( i c n nω ( 1 J 0 ( α n ρ R i 3/2 ) J 0 ( α n i 3/2 ) )exp( iωnt ) )

Teniendo en cuenta la definición de α, número de Womersley

ωn= α 2 n R 2 υ u z ( ρ,t )= R 2 υ n=1 ( i c n α 2 n ( 1 J 0 ( α n ρ R i 3/2 ) J 0 ( α n i 3/2 ) )exp( iωnt ) )

Representamos el perfil de velocidades para n=1, c1=2/π, dos valores del número α=3.34 y 5.78 en los instantes tales que ωt=0, π/6, π/3, π/2, 2π/3, 5π/6, π (0, 30, 60, 90, 120, 150, 180)

hold on
n=1;
alfa=3.34; %nú.mero de Womersley
c1=2/pi; %coeficiente
for wt=(0:30:180)*pi/180
    f=@(x) real(1i*c1*(1-besselj(0, alfa*sqrt(n)*x*1i^(3/2))/
besselj(0,alfa*sqrt(n)*1i^(3/2)))*exp(1i*n*wt)/(alfa^2*n));
    fplot(f,[-1,1])
end
hold off
xlabel('\rho/R'); 
legend('0','\pi/6','\pi/3','\pi/2','2\pi/3','5\pi/6','\pi','location','best')
ylabel('u_z(\rho,t)')
grid on
hold off
title('Perfil de velocidades')

Cambiamos α=5.78

Superposión

Consideremos un gradiente de presión que es una función periódica del tiempo de forma cualesquiera, de periodo P o frecuencia angular ω=2π/P

p z = c 0 + n=1 c n exp( inωt )

Por ejemplo, en la página titulada Series de Fourier, estudiamos la función periódica, pulso rectangular de periodo P=2, frecuencia angular, ω

p z = ρ f ( 1 2 + 2 π n=1,3,5.. ( 1 ) (n1)/2 cos( nπt ) n )

Los coeficientes de la serie son c0=1/2, c1=2/π, c3=-2/(3π), c5=2/(5π), ...

Representamos aproximadamente, los pulsos rectangulares mediante la suma de 10 términos del desarrollo en serie

n=20;
hold on
x=[0,0.5,0.5,1.5,1.5,2.5,2.5,3.5,3.5,4.5,4.5, 5.5];
y=[1,1,0,0,1,1,0,0,1,1,0,0];
plot(x,y,'b','linewidth',1.5)
x=linspace(0,5,300);
y=zeros(length(x),1);
for i=1:length(x)
    y(i)=1/2;
    for k=1:2:n
        y(i)=y(i)+(-1)^((k-1)/2)*2*cos(k*pi*x(i))/(k*pi);
     end
end
plot(x,y, 'r');
title('Pulso rectangular')
xlabel('t'); 
ylabel('f(t)')
grid on
hold off

En el estado estacionario, bajo un gradiente de presión

Δp l = ρ f c 0 u z (ρ,)= 1 4 Δp ηl ( R 2 ρ 2 )= 1 4 c 0 υ R 2 ( 1 ρ 2 R 2 )

Para un gradiente de presión representado por una función periódica cuyos coeficientes cn, n=0,1,2,3,.. son conocidos, el perfil de velocidades es la superposición

u z ( ρ,t )= 1 4 c 0 υ R 2 ( 1 ρ 2 R 2 )+ R 2 υ n=1 ( i c n α 2 n ( 1 J 0 ( α n ρ R i 3/2 ) J 0 ( α n i 3/2 ) )exp( iωnt ) )

Fluido en un cilindro de altura infinita

Se sitúa un fluido en un cilindro vertical, de radio R y altura muy grande. En el instante t=0, se le proporciona una velocidad angular de rotación ω

En este apartado, vamos a resolver la ecuación diferencial en derivadas parciales

ρ f u φ t =η( 1 ρ ρ ( ρ u φ ρ ) u φ ρ 2 )

Con las condiciones de contorno e inicial siguientes:

u φ (R,t)=ωR,ρ=R,t0 u z (ρ,0)=0,0ρR,t=0

El fluido parte del reposo en el instante t=0

Ya hemos estudiado la solución de la ecuación diferencial independiente del tiempo, t, el estado estacionario

u φ ( ρ, )=ωρ

El perfil de velocidades en el instante t, ux(ρ,t) es la suma del perfil en el estado estacionario y en el estado transitorio

u φ (ρ,t)=ωρ u φ t (ρ,t)

Introducimos esta expresión en la ecuación diferencial, para obtener la correspondiente al estado transitorio

u φ t t =υ( 1 ρ ρ ( ρ u φ t ρ ) u φ t ρ 2 ),υ= η ρ f

Resolvemos esta ecuación diferencial en derivadas paraciales con las condiciones de contorno e inicial, siguientes

u φ t (R,t)=0,ρ=R,t0 u φ t (ρ,0)=ωρ,0ρR,t=0

Variables separadas

Expresamos la solución de la ecuación diferencial como producto de dos funciones una que depende de la variable ρ y otra que depende de la variable t

u z t (ρ,t)=X(ρ)T(t) X dT dt =υT( 1 ρ dX dρ + d 2 X d ρ 2 X ρ 2 )

El miembro izquierdo, solamente depende de t y el derecho solamente de ρ. Transformamos una ecuación diferencial en derivadas parciales en un sistema de dos ecuaciones diferenciales

{ 1 υT dT dt = α 2 R 2 1 X ( 1 ρ dX dρ + d 2 X d ρ 2 X ρ 2 )= α 2 R 2 { dT dt + α 2 υ h 2 T=0 d 2 X d ρ 2 + 1 ρ dX dρ +( α 2 R 2 1 ρ 2 )X=0

La solución de la primera ecuación diferencial es

T(t)= c 0 exp( α 2 υ R 2 t )

En la segunda hacemos primero, el cambio de variable r=αρ/R. Su solución se expresa en términos de funciones de Bessel

d 2 X d r 2 + 1 r dX dr +( 1 1 r 2 )X=0 r 2 d 2 X d r 2 +r dX dr +( r 2 1 )X=0 X= c 1 J 1 (r)+ c 2 Y 1 (r) X= c 1 J 1 ( α R ρ )+ c 2 Y 1 ( α R ρ )

Dado que Y1(x)→∞ cuando x→0, el coeficiente c2=0

X(ρ)= c 1 J 1 ( α R ρ )

Aplicamos la condición de contorno en ρ=R

u x t (R,t)=X(R)T(t)=0,X(R)=0 J 1 ( α )=0, α k ,k=1,2,3...

αk son las raíces de la ecuación transcendente, J1(x)=0

La solución de la ecuación diferencial en derivadas parciales, es la superposición

u x t (ρ,t)= k=1 B k J 1 ( α k ρ R ) exp( α k 2 R 2 υt )

Los coeficientes Bk se determinan a partir de la condición inicial

u x t (ρ,0)=ωρ ωρ= k=1 B k J 1 ( α k ρ R )

Teniendo en cuenta la relación de ortogonalidad

0 1 x J 1 ( k m x) J 1 ( k n x)dx ={ 0,mn 1 2 J 2 2 ( k m ),m=n

Resolvemos las integrales, haciendo el cambio de variable z=ρ/R.

k=1 B k 0 R J 1 ( α k ρ R ) J 1 ( α n ρ R ) ρ·dρ= 0 R ωρ J 1 ( α n ρ R )ρ·dρ B k 0 1 z J 1 2 ( α k z ) dz=ωR 0 1 z 2 J 1 ( α k z )dz B k 1 2 J 2 2 ( α k )=ωR 1 α k J 2 ( α k ) B k = 2ωR α k J 2 ( α k )

El estado transitorio es

u φ t (ρ,t)=2ωR k=1 1 α k J 2 ( α k ) J 1 ( α k ρ R ) exp( α k 2 R 2 υt )

El resultado final es la suma del estado estacionario y el estado transitorio

u φ (ρ,t)=ωρ2ωR k=1 1 α k J 2 ( α k ) J 1 ( α k ρ R ) exp( α k 2 R 2 υt )

Dividimos entre ωR para que todas las magnitudes sean adimensionales

u φ (ρ,t) ωR = ρ R 2 k=1 1 α k J 2 ( α k ) J 1 ( α k ρ R ) exp( α k 2 R 2 υt )

Representamos uz(ρ,t)/ωR en los instantes t=0.001, 0.01, 0.1, 1. Tomamos los 12 raíces αk de la ecuación transcendente J0(x)=0

function navier_stokes_13
    x=linspace(0,80,80);
    f=@(x) besselj(1,x);
    alfa=raices(f,x); 
     disp(alfa)

    rr=linspace(0,1, 200);
    uz=zeros(length(rr),1);
    hold on
    for t=[0.001 ,0.01,0.1,1]
        i=0;
        for r=rr
            i=i+1;
            uz(i)=r;
            for j=1:length(alfa)
                uz(i)=uz(i)-2*besselj(1, alfa(j)*r)*exp(-alfa(j)^2*t)/
(alfa(j)*besselj(2,alfa(j)));
            end
        end
        plot(uz,rr,'displayName',num2str(t))
    end  
    hold off
    grid on
    legend('-DynamicLegend','location','best')
    xlabel('u_\phi/\omegaR')
    ylabel('\rho/R')
    title('Perfil de velocidades')

    function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
    end

Actividades

Se pulsa el botón titulado Nuevo para observar el estado transitorio y su evolución hacia el estado estacionario

Referencias

Tasos C. Papanastasiou, Georgios C. Georgiou, Andreas N. Alexandrou. Viscous Fluid Flow. CRC Press 2000. Sección 6.6

A. Salih. An Exact Solution of Navier–Stokes Equation. July 2011

Michel O. Deville. An Introduction to the Mechanics of Incompressible Fluids. Springer (2022), pp. 73-76