Está en la página 1de 3

#include<iostream>

#include<cmath>
#include<conio.h>
#include<iomanip>
#define g 9.81
#define e 2.7182818284
#define pi 3.14159265

using namespace std;

int main(){
float t=20 ,r=1.98 ,Po=6500 ,Pf=0, k1=1.3;
float Qm=0,Qmd=0,Dot=180,Q=0, n_fil=5,n_col=6;
float ks=1.15e-6, u=0 ,Temp =18, km = 2; //donde "u" es
viscocidad.
float hf[5],hm[5],hL[5],v[5],Re[5];
float f1=0,f2=0,error=0,F=0,dF=0;

float M[5][10];
float T[]={1 ,2 ,3 ,4 ,5},L[]={50 ,80 ,100 ,200 ,150},D[]=
{0.18 ,0.15 ,0.15 ,0.12 ,0.15};
float A[5],Fric[5];
int i=0;

//Calculo de la poblacion final


Pf = Po*(1 + r*t/100);

//Calculo del caudal medio


Qm=Pf*Dot/86400*0.001;

//Calculo del caudal maximo diario


Qmd=k1*Qm;

Q=Qmd;

//Calculo de la viscocidad
u = (1.14-0.31*(Temp-15)+0.00068*pow(Temp-15,2))*1e-6;

cout<<"La poblacion final es: "<<Pf << endl;


cout<<"El Caudal medio es: "<<Qm<<endl;
cout<<"El Caudal Maximo diario es: "<<Qmd<<endl;
cout<<"La viscosidad es: "<<u<<endl;

for(int i=0;i<n_fil;i++){
for(int j=0;j<n_col;j++){
M[i][j]=0;
}
}

//Rellenando la matriz con los datos


for(int i=0;i<n_fil;i++){
M[i][0]=T[i]; //Numero de las tuberias.
M[i][1]=L[i]; //Longitud de las tuberias en m.
M[i][2]=D[i]; //Diametro de las tuberias en m.
A[i]= (pi*pow(D[i],2))/4; //Calculando el
valor del area m^2
M[i][3]= A[i];
v[i]=Q/A[i]; //Calculo de las
velocidades en m/s
M[i][4]= v[i] ; //Rellenando la matriz con la
velocidades.
Re[i]=(M[i][2]*M[i][4])/u; //Calculando el
numero de Reynolds.
M[i][5]= Re[i]; //Rellenando la matriz con
el numero de Reynolds.
}
cout<<endl;
//Calculando el valor de f con el Metodo Newton-Raphson

for(int i=0;i<5;i++){
f1=0.02;
error=1;
while(error>0.0001){
F=1/sqrt(f1) + 2*log10(ks/(3.7*D[i])+2.51/(M[i]
[5]*sqrt(f1)));
dF=-0.5*pow(f1,-1.5)-(2*log10(e)*((2.51/M[i]
[5])*0.5*pow(f1,-1.5)))/(ks/(3.7*D[i])+2.51/(M[i][5]*sqrt(f1)));
f2=f1-(F/dF);
error=abs(f1-f2);
f1=f2;
}
cout<<"El valor de f"<<i+1<<" es: "<<f1<<endl;
Fric[i]=f1;
}
//Rellenando la matriz con los valores de f
for(int i=0;i<n_fil;i++){
M[i][0]=Fric[i]; //Rellenando con los valores de f
}

//Calculando la perdida de carga por friccion


for(int i=0;i<n_fil;i++){
hf[i]=Fric[i]*(L[i]/D[i])*(pow(v[i],2)/(2*g)); //Calculando
la perdida de carga por friccion.
M[i][1]=hf[i]; //Rellenando la matriz con la perdida por
friccion.
hm[i]= km * pow(v[i],2)/(2*g); //Calculando la perdida local.
M[i][2]=hm[i]; //Rellenando la matriz con la perdida local.
hL[i]=hf[i]+hm[i];//calculando la perdida total.
M[i][3]=hL[i]; //Rellenando la matriz con la perdida total.
}

cout<<"\n DATOS DE LOS TRAMOS 1, 2, 3, 4, 5


RESPECTIVAMENTE\n"<<endl;
cout<<endl;

cout<<setw(13)<<"factor f"<<setw(13)<<"P. Friccion"<<setw(13)


<<"P. Local"<<setw(13)<<"P. Total"<<setw(13)<<"Velocidad"<<setw(13)
<<"Reynolds"<<endl;
cout<<"\n";
for(int i=0;i<n_fil;i++){
for(int j=0;j<n_col;j++){
cout<<setw(13)<<M[i][j];
}
cout<<endl;
}

getch();
return 0;
}

También podría gustarte