Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto D1
Proyecto D1
PROYECTO NO. 1
FLUJO LAMINAR DE COUETTE
PRESENTADO POR
HUGO ENRIQUE ALCALA LARA
1° DE MARZO DE 2017
DINÁMICA DE FLUIDOS COMPUTACIONAL
ÍNDICE
I. Establecimiento del problema 3
II. Ecuaciones de gobierno 3
III. Adimensionalización de las ecuaciones de gobierno 4
IV. Discretización de las ecuaciones de gobierno 4
V. Resultados 6
VI. Conclusiones 8
VII. Referencias 8
VIII. Anexos 9
2
DINÁMICA DE FLUIDOS COMPUTACIONAL
Tomando en cuenta las consideraciones (1), (2), (3), (4), (5), podemos rescribir la ecuación 2 en:
3
DINÁMICA DE FLUIDOS COMPUTACIONAL
𝑑2 𝑢
𝜇 −𝑘 =0 (3)
𝑑𝑦 2
Donde:
𝑑𝑝
=𝑘 (4)
𝑑𝑥
𝑑2 (𝑢∗ 𝑈) 𝑑(𝑝∗ 𝜌𝑈 2 )
𝜇 − =0 (5)
𝑑(𝑦 ∗ 𝐿)2 𝑑(𝑥 ∗ 𝐿)
𝜇𝑈 𝑑2 𝑢∗ 𝜌𝑈 2 𝑑𝑝∗
− =0 (6)
𝐿2 𝑑𝑦 ∗2 𝐿 𝑑𝑥 ∗
Dividiendo ambos términos de la ecuación 6 entre (𝜌𝑈 2 )/𝐿
𝜇 𝑑2 𝑢∗ 𝑑𝑝∗
− =0 (7)
𝜌𝑈𝐿 𝑑𝑦 ∗2 𝑑𝑥 ∗
Recordando que el número de Reynolds es 𝜌𝑈𝐿/𝜇 la ecuación 7 se rescribe como:
1 𝑑2 𝑢∗ 𝑑𝑝∗
− =0 (8)
𝑅𝑒 𝑑𝑦 ∗2 𝑑𝑥 ∗
Multiplicando ambos términos de la ecuación 8 por Re, entonces:
𝑑2 𝑢∗
− 𝑅𝑒𝑘 ∗ = 0 (9)
𝑑𝑦 ∗2
Donde:
𝑑𝑝∗
= 𝑘∗ (10)
𝑑𝑥 ∗
4
DINÁMICA DE FLUIDOS COMPUTACIONAL
Donde:
𝐿
∆𝑦 ∗ = (12)
𝑛−1
Por lo tanto, la ecuación 9 se simplifica a:
∗
𝑢𝑖−1 − 2𝑢𝑖∗ + 𝑢𝑖+1
∗
= 𝑅𝑒𝑘 ∗ (13)
(∆𝑦 ∗ )2
La ecuación 13 es válida solo para los nodos intermedios del dominio h (i=2, 3, 4, … , n-1); note que,
para los nodos de la frontera tenemos las siguientes condiciones de frontera:
𝑢(0)
𝑦=0 𝑢∗ = =0
𝑈
𝑢(𝐿)
𝑦=𝐿 𝑢∗ = =1
𝑈
El sistema de ecuaciones lineales que se debe resolver es el siguiente:
[𝑘][𝑢∗ ] = [𝑓] (14)
La matriz que se forma al evaluar todos los nodos es:
5
DINÁMICA DE FLUIDOS COMPUTACIONAL
V. Resultados
6
DINÁMICA DE FLUIDOS COMPUTACIONAL
7
DINÁMICA DE FLUIDOS COMPUTACIONAL
VI. Conclusiones
De los resultados obtenidos podemos sacar varias conclusiones, entre estas, obsérvese que el método
de diferencias finitas para aproximar las derivadas, da con ayuda de análisis numérico (Gauss-Seidel)
una solución similar a la solución exacta. Todo esto depende de varios factores, como puede ser el
número de nodos y el criterio de convergencia.
Obsérvese que de la gráfica 3 a un número de nodos de 20 la solución el perfil de velocidad es muy
parecido a la solución exacta, de igual forma en la gráfica 4, cuando se da un criterio de convergencia
de 0.00001 la solución es casi exacta.
De la gráfica 1 podemos observar que el valor del gradiente de presión determina la dirección del
perfil de velocidad (positivo o negativo), un gradiente <0 nos dará un perfil positivo.
De la gráfica 2 observamos que el número de Reynolds influirá en el valor de la velocidad; a mayor
número de Reynolds, mayor velocidad en el punto máximo.
VII. Referencias
[1] Robert W. Fox, Introduction to Fluid Mechanics, Six Edition, Chapter 7, p-274.
8
DINÁMICA DE FLUIDOS COMPUTACIONAL
VIII. Anexos
CODIGO
clc
clear
printf('\t METODO ITERATIVO DE GAUSS SEIDEL\n\n\n')
format (10)
printf('Ingrese el numero de Reynolds:')
Re=input('');
printf('Ingrese el gradiente de presion adimensional k*:')
k=input('');
printf('Ingrese el numero de nodos:')
n=input('');
deltay=(1/n-1);
printf('Ingrese la matriz de coeficientes:')
a=input('');
printf('Ingrese los términos independientes:')
b=input('');
printf('Ingrese el vector con las aproximacimaciones Iniciales:')
x=input('');
printf('Ingrese el número máximo de iteraciones:')
iter=input('');
printf('Ingrese el criterio de convergencia:')
cc=input('');
k=norm(a)*norm(a^-1);//Se calcula el condicional de la matriz de coeficientes
determinante=det(a);//se calcula el determinante de la matriz de coeficientes
if determinante==0
disp('El determinante es cero, el problema no tiene solución única')
end
n=length(b); //numero de elementos del vector b
d=diag(diag(a));//obtencion de la matriz diagonal
l=d-tril(a); //obtencion de la matriz diagonal superior L
u=d-triu(a); //obtencion de la matriz diagonal inferior u
T=((d-l)^-1)*u; // matriz de transicion de gauss-seidel
re=max(abs(spec(T))); //calculo del radio espectral
if re>1
disp('Radio Espectral mayor que 1')
disp('el método no converge')
return
end
C=((d-l)^-1)*b; // vector constante C, para el metodo
i=0;
j=0;
residual=cc+1;
z=[i,x(1),x(2),x(3),residual]; //vector que me permite graficar la tabla
while residual>cc & i<iter
xi=T*x+C;
i=i+1;
residual=norm(xi-x);
x=xi;
z(i,1)=i;
z(i,2)=x(1);
for j=2:1:n
z(i,j)=x(j)
end
z(i,n+2)=residual;
end
//formulacion de la tabla
mo=z(:,1)
m1=z(:,n+1)
9
DINÁMICA DE FLUIDOS COMPUTACIONAL
mint=z(:,j=2:1:n)
mf=z(:,n+2)
B=[mo m1 mint mf]
//printf('\nTABLA:\n\n\t ITERACIÓN nodo 1 nodo 2 nodo 3... nodo n Residual\n\n ')
//disp(B)
//plot(mf,mo,'*-r')
//xlabel( " RESIDUAL " ) ;
//ylabel(" ITERACIÓN " ) ;
//title(" RESIDUAL VS ITERACIÓN" )
//datos resumidos
a0=z(i,1)//numero de iteraciones
a1=z(i,n+1);//aproximacion nodo 1
a2=z(i,j=2:1:n);//aproximacion nodos intermedios y final
a3=a2';
a4=z(i,n+2)//recidual final
a5=[a1;a3]
y=0:0.052:1;
exacta=inv(A1)*A2;
B1=[exacta a5]
B2=[a4 a0]
printf('\n SOLUCION:\n')
printf('\nResifual final\t Numero de Iteraciones')
disp(B2)
printf('\n Exacta\t Aproximada')
disp(B1)
//plot(exacta,y,'k')
plot (a5,y,'.-b')
xlabel( " VELOCIDAD ADIMENCIONAL " ) ;
ylabel(" POSICIÓN ADIMENCIONAL " ) ;
title(" COMPARACION CON REYNOLDS" )
legend('exacta','20 nodos','10 nodos','5 nodos','3 nodos',2)
10