Vous êtes sur la page 1sur 9

OBTENCIÓN DEL FACTOR DE FRICCIÓN EN TUBERÍAS, A TRAVÉS DE LA

FÓRMULA DE COLEBROOK CON AYUDA DE MATLAB

I. INTRODUCCION:

En el siguiente informe se da a conocer como realizar el factor de fricción a través de


métodos como punto fijo y bisección. Además de los pasos y las demostraciones a
través de matlab y el usos de este programa en la ingeniería,

II. OBJETIVOS:
1. Encontrar el coeficiente de fricción a través de los métodos de punto fijo y
bisección en matlab.
2. Aplicar la fórmula de colebrook para determinar el factor de fricción.
3. Demuestras a través de matlab el factor de fricción en tuberías.

III. FUNDAMENTO TEORICO:

El factor de fricción o coeficiente de resistencia de Darcy-Weisbach (f) es un parámetro


adimensional que se utiliza en dinámica de fluidos para calcular la pérdida de carga en
una tubería debido a la fricción.

El diagrama de mody se utiliza para resolver problemas de tuberías; también se utiliza


para el flujo compresible en ductos. Si se considera enfoques numéricos apropiados para
utilizarlos en un computador digital, es conveniente tener una ecuación matemática del
factor de fricción (f) en función del coeficiente de rugosidad relativa (e/D) y numero de
Reynolds (Re). Existen diferentes fórmulas de correlación semiempiricas que relacionan
f con e/D y Re. La ecuación más conocida es la fórmula de colebrook, la cual incluye la
zona de transición friccional y la de turbulencia, dada en (1).

1 𝑒/𝐷 2.51
= −2. 𝐿𝑜𝑔10 ( + ) (1)
√𝑓 3.7 𝑅𝑒√𝑓

Donde:

e/D = coeficiente de rugosidad relativa en (CR)

f = factor de fricción.

Re = Numero de Reynolds.
e = Variación promedio del radio de la tubería, es decir,
una medida de la rugosidad de la tubería.

D = Diámetro interno de la tubería.

Esta ecuación tiene la desventaja de que f no aparece de forma explícita y para e/D y
Re, de tal manera que tiene que resolverse mediante iteraciones, para ello utilizaremos
el script en matlab denominado “FACTORFRICCION.m”, especificado posteriormente
en la pág. 3

Bajo ciertos arreglos la ecuación anterior (1), también, se puede representar como

1 𝑒 9.35
= 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + ) (2)
√𝑓 𝑅𝑒√𝑓

En la zona completamente rugosa de flujo (Re ∞), el factor de fricción (f) no


depende del número de Reynolds (Re), ya que al considerar la ecuación (2), significa
que:

𝑒 9.35
(𝐷 ≫ ).
𝑅𝑒√𝑓

Por consiguiente, puede darse la ecuación para f explícitamente, como sigue para la
zona completamente rugosa de flujo:

1
𝑓= 𝑒
[1.14−2.𝐿𝑜𝑔10 ( )2 ]
𝐷
3.1 Método de iteración de punto fijo

El método de la iteración de punto fijo para resolver una ecuación no lineal f(x) = 0 pasa
por transformarla en una equivalente, x = g(x), y ejecutar la iteración x (k+1) = g(x (k))
a partir de un cierto x (0) hasta que se satisfaga el criterio de parada elegido o se alcance
el número de iteraciones máximo admitido.

Una posible implementación del algoritmo de punto fijo en su variante más sencilla
puede ser por medio de la función punto fijo con la siguiente estructura:

La solución de una ecuación que se expresa, para algunas funciones g, en la forma:

g(x) = x (3)

Se le denomina un punto fijo de la función g. si para cualquier g dada se puede


encontrar un punto fijo, entonces cada problema de búsqueda de raíces podrá también
ser resultado.

Repetiremos la ecuación (2) para visualizar la transformación,

1 𝑒 9.35
= 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + )
√𝑓 𝑅𝑒√𝑓

1 𝑒 9.35
Sustituyendo =x se obtiene x = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) la cual es de la
f 𝑅𝑒

forma de la ecuación (3).

3.2 Método de iteración de la bisección:

Si f es una función continua sobre el intervalo [a,b] y si f(a) f(b) <0, entonces fdebe
tener un cero en (a,b). Dado que f(a)f(b) <0, la función cambia de signo en el intervalo
[a,b] y por lo tanto tiene por lo menos un cero en el intervalo.

Esta es una consecuencia del teorema del valor intermedio para funciones continuas,
que establece que si f es continua en [a,b] y si k es un número entre f(a) y f(b) , entonces
existe por lo menos un c (a,b) tal que f(c)=k.
(para el caso en que f(a)f(b)<0 se escoge k=0, luego f(c)=0, c (a,b)).

El método de bisección consiste en dividir el intervalo en 2 subintervalos de igual


magnitud, reteniendo el subintervalo en donde f cambia de signo, para conservar al
menos una raíz o cero, y repetir el proceso varias veces.
Paso 1: Elija valores iniciales inferior, xa, y superior, xb, que encierren la raíz, de forma
tal que la función cambie de signo en el intervalo. Esto se verifica comprobando
que f(xa) f(xb) < 0.
Paso 2: Una aproximación de la raíz xr se determina mediante:
xr = (xa + xb)/2

Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está
la raíz:

a) Si f(xa)f(xr) < 0, entonces la raíz se encuentra dentro del subintervalo inferior


o izquierdo. Por lo tanto, haga xb = xr y vuelva al paso 2.
b) Si f(xa)f(xr) > 0, entonces la raíz se encuentra dentro del subintervalo superior
o derecho. Por lo tanto, haga xa = xr y vuelva al paso 2.
c) Si f(xa)f(xr) = 0, la raíz es igual a xr; termina el cálculo.
1 𝑒 9.35
= 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + )
√𝑓 𝑅𝑒√𝑓

𝑒 9.35
se obtiene f(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) − 𝑥
𝑅𝑒

IV. PROCEDIMIENTO EXPERIMENTAL:


4.1 Método del punto fijo:

Como se dijo antes, los métodos abiertos emplean una fórmula para predecir la raíz.
Esta fórmula puede desarrollarse como una iteración simple de punto fijo (también
llamada iteración de un punto o sustitución sucesiva o método de punto fijo), al arreglar
la ecuación

f(x) = 0 de tal modo que x esté del lado izquierdo de la ecuación:

x = g(x)

𝑒 9.35
G(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥)
𝑅𝑒
 Algoritmo
fprintf('Método del punto fijo:\n'); % La instrucción fprintf
proporciona control de la forma en que el numéro y la cadena
de los datos se imprimen en la ventana de comandos o en un archivo.
fun=input('Ingrese la función:\n','s'); % input es un comando de
solicitud de entrada de datos del usuario.
x0=input('Ingrese el punto inicial:\n');
n=input('Ingrese el numero de iteraciones:\n');
it=0;
fprintf(' it x0 x1 x0-x1');
while(it<n) % While ejecuta todas las órdenes mientras la
expresión sea verdadera.
it=it+1;
x=x0;
x1=eval(fun); % evalacion de la funcion
fprintf('\n%3.0f%15.3f%15.3f%15.3f\n',it,x0,x1,abs(x1-x0));
x0=x1;
end % end se usa para terminar
fprintf('\n el punto fijo aproximado es=%10.3f\n',x1);
clf % borrar todos los graficos
hold on % mantiene los graficos en los ejes actuales
ezplot('x'); % El comando ezplot permite graficar una función
ezplot fun
legend('y=x','fun') % crea una leyenda con etiquetas descriptivas para
cada serie de datos graficados
hold off % hold off Todas las órdenes de dibujo entre ambos comandos
se ejecutan sobre la misma ventana gráfica, sin borrar lo anterior

4.2 Método de la bisección:

𝑒 9.35
f(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) − 𝑥
𝑅𝑒

Paso 1: Elija valores iniciales inferior, xl, y superior, xu, que encierren la raíz, de forma
tal que la función cambie de signo en el intervalo. Esto se verifica comprobando
que f(xl) f(xu) < 0.
Paso 2: Una aproximación de la raíz xr se determina mediante:
xr = (xl + xu)/2

Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está
la raíz:
a) Si f(xl)f(xr) < 0, entonces la raíz se encuentra dentro del subintervalo inferior
o izquierdo. Por lo tanto, haga xu = xr y vuelva al paso 2.
b) Si f(xl)f(xr) > 0, entonces la raíz se encuentra dentro del subintervalo superior
o derecho. Por lo tanto, haga xl = xr y vuelva al paso 2.
c) Si f(xl)f(xr) = 0, la raíz es igual a xr; termina el cálculo
 Algoritmo

xai=input('Ingrese el intervalo inferior: ');


xbi=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
syms x; % El comando sym se usa para crear objetos simbólicos
f=input('Ingrese la funciòn: '); % input es un comando de solicitud de entrada
de datos del usuario.
i=1;

f1=subs(f,x,xai); % Sustituye las variables antiguas por las nuevas


f2=subs(f,x,xbi);

ea(i)=100;
if f1*f2 < 0 % El if simple le permite ejecutar una serie de enunciados si una
condición es verdadera y saltar dichos pasos si la condición es falsa.
xa(i)=xai; f1=subs(f,x,xa(i));
xb(i)=xbi; f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));

fprintf('It Xa Xr Xb Error aprox \n'); % La función


fprintf le permite "escribir" información en la pantalla para que el usuario lo vea
fprintf('%2d \t %11.2f \t %11.2f \t %11.2f
\n',i,xa(i),xr(i),xb(i));
while abs(ea(i)) >= tol, % While ejecuta todas las órdenes mientras la
expresión sea verdadera.
if f1*f3<0
xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
end % end se usa para terminar
if f1*f3> 0
xa(i+1)=xr(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);f2=subs(f,x,xb(i+1));
end
xr(i+1)=(xa(i+1)+xb(i+1))/2; f3=subs(f,x,xr(i+1));
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
fprintf('%2d \t %11.2f \t %11.2f \t %11.2f \t %2.3f \n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('No existe una raíz en ese intervalo');
end
V. RESULTADOS:
 Por método de bisección:

Los resultados del programa para e/D =CR= 0.001, Re = 10*108

X = Xr = 7.14

1 1 1
=x => √f = X => f = X2
√f

1
f=
7.142

f = 0.01961568941
 Por el método fijo:

Los resultados del programa para e/D =CR= 0.001, Re = 10*108

x1 = x = 7.140

1 1 1
√f
=x => √f = X => f = X2

1
𝑓=
7.1402

f = 0.01961568941
VI. CONCLUSIONES:
- Aprendimos como usar métodos numéricos en la aplicación de ingeniería.

VII. REFERENCIAS BIBLIOGRAFICAS:


 http://www.academia.edu/11429698/Obtenci%C3%B3n_del_Factor_de_Fricci%
C3%B3n_en_tuber%C3%ADas_a_trav%C3%A9s_de_la_f%C3%B3rmula_de_
Colebrook_con_ayuda_de_Matlab
 Métodos numéricos para ingenieros 5ta edición Stevec C Chapra
 http://prof.usb.ve/williamc/PS2315/cdigos_matlab.html

Vous aimerez peut-être aussi