ok, muchas gracias
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#include <iostream>
#include <math.h>
using namespace std;
int N, M, rc, ra, Nc, Na;
double k, alfa, e, qv, Tg,T, x, P1,P2, Tf1,Tf2, V1, V2, Ro, Cp, Landa, Mu,L;
void introducirDatos(){
/*----------------Introduccion de datos por el usuario-------------------*/
cout<<"INTRODUCCIÓ DE DADES"<<endl<<endl;
//Introducir la conductividad termica (k)
cout<<"Introdueix la conductivitat termica: ";
cin>>k;
cout<<endl;
//Introducir altura del cuerpo
cout<<"Introdueix el numero de nodes amb que vol discretitzar els fluids: ";
cin>>N;
cout<<endl;
//Introducir altura del cuerpo
cout<<"Introdueix la temperatura inicial: ";
cin>>T;
cout<<endl;
cout<<"Introdueix les condicions d'entrada del fluid I: "<< endl;
cout<<"pressio:";
cin>> P1;
cout<<"temperatura:";
cin>> Tf1;
cout<< "velocitat:";
cin>> V1;
cout<<endl;
cout<<"Introdueix les condicions d'entrada del fluid II: "<< endl;
cout<<"pressio:";
cin>> P2;
cout<<"temperatura:";
cin>> Tf2;
cout<< "velocitat:";
cin>> V2;
cout<<endl;
M=N-1;
}
// Entrar l'error, dimensions, etc....coñazo XDXXXXXXXDX
//Creació dels vectors/matrius de temperatures
//class Temperatura{
//public:
//double vector <vector <double> > T0;
// Temperatura(int N):
// T(N)
// {};
//~Temperatura(){};
//};
//Se reellena;
class vector_generic_1 {
private:
int N;
double T;
public:
double* array;
double* creaiomple(int a,double b ){
N=a;
T=b;
double* vector = new double[N];
for(int i=0;i<N;i++)
{
vector[i]=T;//rellenamos el vector
};
array=vector;
return array;
}
double mostra(double[]) {
for(int i=0;i<N;i++)
{
cout <<"El valor del node "<<i<< " es "<< array[i]<< endl;
}
}
};
class vector_generic_2 {
private:
int M;
double T;
public:
double* array;
double* creaiomple(int a,double b ){
M=a;
T=b;
double* vector = new double[M];
for(int i=0;i<M;i++)
{
vector[i]=T;//rellenamos el vector
};
array=vector;
return array;
}
double mostra(double[]) {
for(int i=0;i<M;i++)
{
cout <<"El valor del node "<<i<< " es "<< array[i]<< endl;
}
}
};
class pressio {
};
class velocitat {
};
int main (int argc, char *argv[])
{
cout << "Ressolució numèrica d'un bescanviador de calor de tubs concèntrics" << endl;
cout << "Pressiona enter per a començar" << endl;
cin.get();
introducirDatos();
/* int M;
M=N+1;
cout<< M<<endl; */
vector_generic_2 Temperatura_solid_1;
Temperatura_solid_1.creaiomple(M,T);
Temperatura_solid_1.mostra(Temperatura_solid_1.array);
cout<<" "<<endl;
vector_generic_1 Temperatura_fluid_1;
Temperatura_fluid_1.creaiomple(N,Tf1);
Temperatura_fluid_1.mostra(Temperatura_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Velocitat_fluid_1;
Velocitat_fluid_1.creaiomple(N,V1);
Velocitat_fluid_1.mostra(Velocitat_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Pressio_fluid_1;
Pressio_fluid_1.creaiomple(N,P1);
Pressio_fluid_1.mostra(Velocitat_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Temperatura_suposada_fluid_1;
Temperatura_suposada_fluid_1.creaiomple(N,Tf1);
Temperatura_suposada_fluid_1.mostra(Temperatura_suposada_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Velocitat_suposada_fluid_1;
Velocitat_suposada_fluid_1.creaiomple(N,V1);
Velocitat_suposada_fluid_1.mostra(Velocitat_suposada_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Pressio_suposada_fluid_1;
Pressio_suposada_fluid_1.creaiomple(N,P1);
Pressio_suposada_fluid_1.mostra(Velocitat_suposada_fluid_1.array);
cout<<" "<<endl;
vector_generic_1 Ro_fluid_1;
Ro_fluid_1.creaiomple(N,P1);
vector_generic_1 Ro_suposada_fluid_1;
Ro_suposada_fluid_1.creaiomple(N,P1);
vector_generic_2 Temperatura_mitja_fluid_1;
Temperatura_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Temperatura_film_fluid_1;
Temperatura_film_fluid_1.creaiomple(M,T);
vector_generic_2 Velocitat_mitja_fluid_1;
Velocitat_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Ro_mitja_fluid_1;
Ro_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Cp_mitja_fluid_1;
Cp_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Mu_mitja_fluid_1;
Mu_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Mu_mitja_fluid_1_paret;
Mu_mitja_fluid_1_paret.creaiomple(M,T);
vector_generic_2 Landa_mitja_fluid_1;
Landa_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 alfa_mitja_fluid_1;
alfa_mitja_fluid_1.creaiomple(M,T);
double diametre,diametre_eq, longitud, rugosidad_relativa;
diametre=0.2;
longitud=1;
rugosidad_relativa=0.003;
//diametre_eq=4*3.14*(pow(diametre,2)/4)/
vector_generic_2 Reynolds_mitja_fluid_1;
Reynolds_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Prandtl_mitja_fluid_1;
Prandtl_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Graetz_mitja_fluid_1;
Graetz_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Nusselt_mitja_fluid_1;
Nusselt_mitja_fluid_1.creaiomple(M,T);
vector_generic_2 Factor_friccio_fluid_1;
Factor_friccio_fluid_1.creaiomple(M,T);
for(int i=0;i<=M;i++)
{
for (int j=0;j<10000;j++)
{
Temperatura_mitja_fluid_1.array[i]=(Temperatura_fluid_1.array[i]+Temperatura_suposada_fluid_1.array[i+1])/2;
Temperatura_film_fluid_1.array[i]=(Temperatura_mitja_fluid_1.array[i]+Temperatura_solid_1.array[i])/2;
Velocitat_mitja_fluid_1.array[i]=(Velocitat_fluid_1.array[i]+Velocitat_suposada_fluid_1.array[i+1])/2;
Ro_mitja_fluid_1.array[i]=847.2+1.298*(Temperatura_mitja_fluid_1.array[i]+273)-0.002657*pow((Temperatura_mitja_fluid_1.array[i]+273),2);
Cp_mitja_fluid_1.array[i]=5648.79-9.14*(Temperatura_mitja_fluid_1.array[i]+273)+0.01421*pow((Temperatura_mitja_fluid_1.array[i]+273),2);
Landa_mitja_fluid_1.array[i]=-0.722+0.007168*(Temperatura_mitja_fluid_1.array[i]+273)-0.000009137*pow((Temperatura_mitja_fluid_1.array[i]+273),2);
Mu_mitja_fluid_1.array[i]=exp(7.867-0.077*(Temperatura_mitja_fluid_1.array[i]+273)+0.0000904*pow((Temperatura_mitja_fluid_1.array[i]+273),2));
Mu_mitja_fluid_1_paret.array[i]=exp(7.867-0.077*(Temperatura_film_fluid_1.array[i]+273)+0.0000904*pow((Temperatura_film_fluid_1.array[i]+273),2));
Reynolds_mitja_fluid_1.array[i]=(Ro_mitja_fluid_1.array[i]*Velocitat_mitja_fluid_1.array[i]*diametre)/Mu_mitja_fluid_1.array[i];
Prandtl_mitja_fluid_1.array[i]=(Mu_mitja_fluid_1.array[i]*Cp_mitja_fluid_1.array[i])/Landa_mitja_fluid_1.array[i];
Graetz_mitja_fluid_1.array[i]=(3.14*diametre*Reynolds_mitja_fluid_1.array[i]*Prandtl_mitja_fluid_1.array[i])/(4*longitud);
Ro_fluid_1.array[i]=847.2+1.298*(Temperatura_fluid_1.array[i]+273)-0.002657*pow((Temperatura_fluid_1.array[i]+273),2);
Ro_suposada_fluid_1.array[i+1]=847.2+1.298*(Temperatura_suposada_fluid_1.array[i+1]+273)-0.002657*pow((Temperatura_suposada_fluid_1.array[i+1]+273),2);
if(Reynolds_mitja_fluid_1.array[i]<2000 && Graetz_mitja_fluid_1.array[i]>10)
{
Nusselt_mitja_fluid_1.array[i]=1.86*pow(Reynolds_mitja_fluid_1.array[i],(1/3))*pow(Prandtl_mitja_fluid_1.array[i],(1/3))*pow((diametre/longitud),(1/3))*pow((Mu_mitja_fluid_1.array[i]/Mu_mitja_fluid_1_paret.array[i]),0.14);
}
else
{
if(Reynolds_mitja_fluid_1.array[i]<2000 && Graetz_mitja_fluid_1.array[i]<10)
{
Nusselt_mitja_fluid_1.array[i]=3.66*pow(Reynolds_mitja_fluid_1.array[i],0)*pow(Prandtl_mitja_fluid_1.array[i],0);
}
else
{
if(Reynolds_mitja_fluid_1.array[i]>2000)
{
Nusselt_mitja_fluid_1.array[i]=0.023*pow(Reynolds_mitja_fluid_1.array[i],0.8)*pow(Prandtl_mitja_fluid_1.array[i],0.4);
}
else
{
}
}
}
alfa_mitja_fluid_1.array[i]=(Nusselt_mitja_fluid_1.array[i]*Landa_mitja_fluid_1.array[i])/diametre;
if(Reynolds_mitja_fluid_1.array[i]<2000)
{
Factor_friccio_fluid_1.array[i]=16*pow(Reynolds_mitja_fluid_1.array[i],-1);
}
else
{
if(5000<Reynolds_mitja_fluid_1.array[i] && Reynolds_mitja_fluid_1.array[i]<30000 && rugosidad_relativa<0.0001)
{
Factor_friccio_fluid_1.array[i]=0.079*pow(Reynolds_mitja_fluid_1.array[i],-0.25);
}
else
{
if(5000<Reynolds_mitja_fluid_1.array[i] && Reynolds_mitja_fluid_1.array[i]<30000 && rugosidad_relativa<0.004)
{
Factor_friccio_fluid_1.array[i]=0.096*pow(Reynolds_mitja_fluid_1.array[i],-0.25);
}
else
{
// li he tret Reynolds_mitja_fluid_1.array[i]<300000
if(30000<Reynolds_mitja_fluid_1.array[i] && rugosidad_relativa<0.0001)
{
Factor_friccio_fluid_1.array[i]=0.046*pow(Reynolds_mitja_fluid_1.array[i],-0.2);
}
else
{
if(30000<Reynolds_mitja_fluid_1.array[i] && rugosidad_relativa<0.004)
{
Factor_friccio_fluid_1.array[i]=0.078*pow(Reynolds_mitja_fluid_1.array[i],-0.2);
}
else
{
}
}
}
}
}
double Ax;
L=1;
Ax=L/N;
Velocitat_fluid_1.array[i+1]=(Velocitat_fluid_1.array[i]*Ro_fluid_1.array[i])/Ro_suposada_fluid_1.array[i+1];
Pressio_fluid_1.array[i+1]=Pressio_fluid_1.array[i]-(((Factor_friccio_fluid_1.array[i]*Ro_mitja_fluid_1.array[i]*pow(Velocitat_mitja_fluid_1.array[i],2)/2)*2*3.14*diametre/2*Ax-Ro_mitja_fluid_1.array[i]*Velocitat_mitja_fluid_1.array[i]*3.14*pow(diametre,2)/4*(Velocitat_fluid_1.array[i+1]-Velocitat_fluid_1.array[i]))/(3.14*pow(diametre,2)/4));
Temperatura_fluid_1.array[i+1]=Temperatura_fluid_1.array[i]-(alfa_mitja_fluid_1.array[i]*(Temperatura_mitja_fluid_1.array[i]-Temperatura_solid_1.array[i])*2*3.14*(diametre/2)*Ax)/((Ro_mitja_fluid_1.array[i]*Velocitat_mitja_fluid_1.array[i]*3.14*pow(diametre,2)/4)*Cp_mitja_fluid_1.array[i]);
if ((fabs(Velocitat_fluid_1.array[i+1]-Velocitat_suposada_fluid_1.array[i+1]))<0.001 && (fabs(Pressio_fluid_1.array[i+1]-Pressio_suposada_fluid_1.array[i+1]))<0.001 && (fabs(Temperatura_fluid_1.array[i]-Temperatura_suposada_fluid_1.array[i]))<0.001)
{
break;
}
else
{
Velocitat_suposada_fluid_1.array[i+1]=Velocitat_fluid_1.array[i+1];
Pressio_suposada_fluid_1.array[i+1]=Pressio_fluid_1.array[i+1];
Temperatura_suposada_fluid_1.array[i+1]=Temperatura_fluid_1.array[i+1];
}
}
}
Temperatura_mitja_fluid_1.mostra(Temperatura_mitja_fluid_1.array);
cout<<" "<<endl;
Temperatura_film_fluid_1.mostra(Temperatura_film_fluid_1.array);
cout<<" "<<endl;
Velocitat_mitja_fluid_1.mostra(Velocitat_mitja_fluid_1.array);
cout<<" "<<endl;
Ro_mitja_fluid_1.mostra(Ro_mitja_fluid_1.array);
cout<<" "<<endl;
Cp_mitja_fluid_1.mostra(Cp_mitja_fluid_1.array);
cout<<" "<<endl;
Landa_mitja_fluid_1.mostra(Landa_mitja_fluid_1.array);
cout<<" "<<endl;
Mu_mitja_fluid_1.mostra(Mu_mitja_fluid_1.array);
cout<<" "<<endl;
Mu_mitja_fluid_1_paret.mostra(Mu_mitja_fluid_1_paret.array);
cout<<" "<<endl;
Reynolds_mitja_fluid_1.mostra(Reynolds_mitja_fluid_1.array);
cout<<" "<<endl;
Prandtl_mitja_fluid_1.mostra(Prandtl_mitja_fluid_1.array);
cout<<" "<<endl;
Graetz_mitja_fluid_1.mostra(Graetz_mitja_fluid_1.array);
cout<<" "<<endl;
Nusselt_mitja_fluid_1.mostra(Nusselt_mitja_fluid_1.array);
cout<<" "<<endl;
alfa_mitja_fluid_1.mostra(alfa_mitja_fluid_1.array);
cout<<" "<<endl;
Factor_friccio_fluid_1.mostra(Factor_friccio_fluid_1.array);
cout<<" "<<endl;
Ro_fluid_1.mostra(Ro_fluid_1.array);
cout<<" "<<endl;
Ro_suposada_fluid_1.mostra(Ro_fluid_1.array);
cout<<" "<<endl;
Velocitat_fluid_1.mostra(Velocitat_fluid_1.array);
cout<<" "<<endl;
Pressio_fluid_1.mostra(Pressio_fluid_1.array);
cout<<" "<<endl;
Temperatura_fluid_1.mostra(Temperatura_fluid_1.array);
cout<<" "<<endl;
//double A, B;
//A=pow(2.457*log(1/(pow((7/Reynolds_mitja_fluid_1.array[i]),0.9)+0.27*rugosidad_relativa)),(1/12));
//B=pow((37530/Reynolds_mitja_fluid_1.array[i]),16);
//if(Reynolds_mitja_fluid_1.array[i]>2000)
//{
// Factor_friccio_fluid_1.array[i]=2*(pow((pow((8/Reynolds_mitja_fluid_1.array[i]),12)+(1/pow((A+B),(3/2)))),(1/12)));
//};
//double diametre;
//diametre=0.2;
//vector_generic_2 Reynolds_mitja_fluid_1;
// Reynolds_mitja_fluid_1.creaiomple(M,T);
//Reynolds_mitja_fluid_1.array[i]=(Ro_mitja_fluid_1.array[i]*Velocitat_mitja_fluid_1.array[i]*diametre)/Mu_mitja_fluid_1.array[i];
//Reynolds_mitja_fluid_1.mostra(Reynolds_mitja_fluid_1.array);
/* double *array = new double[N-1];
double *vector_2 = new double[N-1];
double *resultat = new double[N-1];
for(int i=0;i<N-1;i++)
{
array[i]=T;//rellenamos el vector
}
for(int i=0;i<N-1;i++)
{
cout <<"El valor del node "<<i<< " es "<< array[i]<< endl;
}
for(int i=0;i<N-1;i++)
{
vector_2[i]=2;//rellenamos el vector
}
for(int i=0;i<N-1;i++)
{
cout <<"El valor del node "<<i<< " es "<< vector_2[i]<< endl;
}
for(int i=0;i<N-1;i++)
{
resultat[i]=array[i]*vector_2[i];//rellenamos el vector
}
for(int i=0;i<N-1;i++)
{
cout <<"El valor del node "<<i<< " es "<< resultat[i]<< endl;
}
*/
cout << "Afegeix un numero" << endl;
cin >> x;
//delete [] array; important mirar si s'ha d'eliminar o no
cout<<endl;
return 0;
}