Menú

Mostrar Mensajes

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ú

Mensajes - upc_87

#1
ok, muchas gracias
#2
vuelvo a copiar todo el programa, ya que como lo he copiado pòr partes alomejor me he dejado algo
Hay cosas escritas en catalan, si alguien necesita saber que dice me lo pregunta, ningun problema ;)

#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;
}


#3
Si que me compila. Luego cuando lo ejecuto, introduxco todas la variables y cuando empieza a calcular aparece el mensaje de error.
#4
Hola, saludos a todos, soy nuevo en este foro.
Estoy haciendo un programa para encontrar una solución analítica mediante métodos numéricos para el comportamiento de un intercambiador de calor. De momento tengo poco hecho, pero me da un error que dice que mi programa dejó de funcionar. Seguramente encontraréis fallos importantes en mi código...necessito ayuda.
Gracias por adelantado, aquí va el código:

#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Ón DE DATOS"<<endl<<endl;
   

    cout<<"Introduce el numero de nodos con que queires discretizar los fluidos: ";
    cin>>N;
    cout<<endl;
   
   
    cout<<"Introduce la temperatura inicial: ";
    cin>>T;
    cout<<endl;

    cout<<"Introduce las condiciones de entrada del fluido I: "<< endl;
    cout<<"pressio:";
    cin>> P1;
    cout<<"temperatura:";
    cin>> Tf1;
    cout<< "velocitat:";
    cin>> V1;
    cout<<endl;   
   
    cout<<"Introduce las condiciones de entrada del fluido II: "<< endl;
    cout<<"pressio:";
    cin>> P2;
    cout<<"temperatura:";
    cin>> Tf2;
    cout<< "velocitat:";
    cin>> V2;
    cout<<endl;   
    M=N-1;
}

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=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<< 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=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<< endl;
                      }       
              }
};

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();

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=(Temperatura_fluid_1.array+Temperatura_suposada_fluid_1.array[i+1])/2;
  Temperatura_film_fluid_1.array=(Temperatura_mitja_fluid_1.array+Temperatura_solid_1.array)/2;
  Velocitat_mitja_fluid_1.array=(Velocitat_fluid_1.array+Velocitat_suposada_fluid_1.array[i+1])/2;
  Ro_mitja_fluid_1.array=847.2+1.298*(Temperatura_mitja_fluid_1.array+273)-0.002657*pow((Temperatura_mitja_fluid_1.array+273),2);
  Cp_mitja_fluid_1.array=5648.79-9.14*(Temperatura_mitja_fluid_1.array+273)+0.01421*pow((Temperatura_mitja_fluid_1.array+273),2);
  Landa_mitja_fluid_1.array=-0.722+0.007168*(Temperatura_mitja_fluid_1.array+273)-0.000009137*pow((Temperatura_mitja_fluid_1.array+273),2);
  Mu_mitja_fluid_1.array=exp(7.867-0.077*(Temperatura_mitja_fluid_1.array+273)+0.0000904*pow((Temperatura_mitja_fluid_1.array+273),2));
  Mu_mitja_fluid_1_paret.array=exp(7.867-0.077*(Temperatura_film_fluid_1.array+273)+0.0000904*pow((Temperatura_film_fluid_1.array+273),2));
  Reynolds_mitja_fluid_1.array=(Ro_mitja_fluid_1.array*Velocitat_mitja_fluid_1.array*diametre)/Mu_mitja_fluid_1.array;
  Prandtl_mitja_fluid_1.array=(Mu_mitja_fluid_1.array*Cp_mitja_fluid_1.array)/Landa_mitja_fluid_1.array;
  Graetz_mitja_fluid_1.array=(3.14*diametre*Reynolds_mitja_fluid_1.array*Prandtl_mitja_fluid_1.array)/(4*longitud);
 
  Ro_fluid_1.array=847.2+1.298*(Temperatura_fluid_1.array+273)-0.002657*pow((Temperatura_fluid_1.array+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<2000 && Graetz_mitja_fluid_1.array>10)
{
Nusselt_mitja_fluid_1.array=1.86*pow(Reynolds_mitja_fluid_1.array,(1/3))*pow(Prandtl_mitja_fluid_1.array,(1/3))*pow((diametre/longitud),(1/3))*pow((Mu_mitja_fluid_1.array/Mu_mitja_fluid_1_paret.array),0.14);
}
else
{
  if(Reynolds_mitja_fluid_1.array<2000 && Graetz_mitja_fluid_1.array<10)
  {
  Nusselt_mitja_fluid_1.array=3.66*pow(Reynolds_mitja_fluid_1.array,0)*pow(Prandtl_mitja_fluid_1.array,0);
  }
  else
  {
      if(Reynolds_mitja_fluid_1.array>2000)
      {
      Nusselt_mitja_fluid_1.array=0.023*pow(Reynolds_mitja_fluid_1.array,0.8)*pow(Prandtl_mitja_fluid_1.array,0.4);
      }
      else
      {
      }
  }
}
alfa_mitja_fluid_1.array=(Nusselt_mitja_fluid_1.array*Landa_mitja_fluid_1.array)/diametre;


if(Reynolds_mitja_fluid_1.array<2000)
{
Factor_friccio_fluid_1.array=16*pow(Reynolds_mitja_fluid_1.array,-1);
}
else
{
    if(5000<Reynolds_mitja_fluid_1.array && Reynolds_mitja_fluid_1.array<30000 && rugosidad_relativa<0.0001)
    {
    Factor_friccio_fluid_1.array=0.079*pow(Reynolds_mitja_fluid_1.array,-0.25);
    }
    else
    {
        if(5000<Reynolds_mitja_fluid_1.array && Reynolds_mitja_fluid_1.array<30000 && rugosidad_relativa<0.004)
        {
        Factor_friccio_fluid_1.array=0.096*pow(Reynolds_mitja_fluid_1.array,-0.25);
        }
        else
        {
           
            // li he tret Reynolds_mitja_fluid_1.array<300000
           
            if(30000<Reynolds_mitja_fluid_1.array && rugosidad_relativa<0.0001)
            {
            Factor_friccio_fluid_1.array=0.046*pow(Reynolds_mitja_fluid_1.array,-0.2);
            }
            else
            {
                if(30000<Reynolds_mitja_fluid_1.array && rugosidad_relativa<0.004)
                {
                Factor_friccio_fluid_1.array=0.078*pow(Reynolds_mitja_fluid_1.array,-0.2);
                }
                else
                {
                }
            }
        }
    }
}


double Ax;
L=1;
Ax=L/N;



Velocitat_fluid_1.array[i+1]=(Velocitat_fluid_1.array*Ro_fluid_1.array)/Ro_suposada_fluid_1.array[i+1];
Pressio_fluid_1.array[i+1]=Pressio_fluid_1.array-(((Factor_friccio_fluid_1.array*Ro_mitja_fluid_1.array*pow(Velocitat_mitja_fluid_1.array,2)/2)*2*3.14*diametre/2*Ax-Ro_mitja_fluid_1.array*Velocitat_mitja_fluid_1.array*3.14*pow(diametre,2)/4*(Velocitat_fluid_1.array[i+1]-Velocitat_fluid_1.array))/(3.14*pow(diametre,2)/4));
Temperatura_fluid_1.array[i+1]=Temperatura_fluid_1.array-(alfa_mitja_fluid_1.array*(Temperatura_mitja_fluid_1.array-Temperatura_solid_1.array)*2*3.14*(diametre/2)*Ax)/((Ro_mitja_fluid_1.array*Velocitat_mitja_fluid_1.array*3.14*pow(diametre,2)/4)*Cp_mitja_fluid_1.array);

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-Temperatura_suposada_fluid_1.array))<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;

cout << "Afegeix un numero" << endl;
cin >> x;
//delete [] array;   es imprescindible??
  cout<<endl;
 
  return 0;
}