/****************************************************************** * FUNCTION: reynum - evaluates dynamic viscosity and Reynolds * * number * * FILENAME reynum.c * * PROGRAMMER I.Urieli (FORTRAN) * * E. Malroy (C Translation) * * DATE: 12/01/94 (FORTRAN), 06/15/96 (C Translation) * * LAST MODIFICATION: 08/22/96 Eric Malroy * * INCLUDE: , , "define.h" * * GLOBAL VARIABLES: * * rgas - gas constant (Joules/kg.K) * * cp - specific heat at const pressure (J/kg.K) * * cv - specific heat at const volume (J/kg.K) * * gamma - ratio (cp / cv) * * mu0 - dynamic viscosity at ref temp t0 (kg.m/s) * * t0 - reference temperature (273 K) * * t_suth - Sutherland constant for dynamic viscosity * * prandt - Prandtl number (0.71) * * PROTOTYPES: * * void reynum(double,double,double,double *,double *,double *) * * PRE: mu0, t0, t_suth, cp, prandt * * POST: *pt_re, *pt_kgas, *pt_mu have been fully determined * ******************************************************************/ #include #include #include "define.h" #include "adiabatic.h" void reynum(double t, /* absolute temperature(K) */ double g, /* mass flux(kg/(m**2*s)) */ double d, /* hydraulic diameter(m) */ double *pt_mu, /* dynamic viscosity (kg/(m*s)) */ double *pt_kgas, /* gas thermal conductivity (W/(m*m*K))*/ double *pt_re) /* Reynolds number (fabs(g)*d/mu) */ { double mu,re,kgas; /* see above pointers for definition */ mu = mu0 * (t0 + t_suth)/(t + t_suth)*pow((t/t0),1.5); kgas = cp*mu/prandtl; re = fabs(g)*d/mu; if(re < 1.0) re = 1.0; *pt_mu = mu; *pt_kgas = kgas; *pt_re = re; } /****************************************************************** * FUNCTION: pipfr -Evaluate heat transfer and friction factor in * * smooth pipes * * FILENAME reynum.c * * PROGRAMMER I.Urieli (FORTRAN) * * E. Malroy (C Translation) * * DATE: 12/01/94 (FORTRAN), 06/15/96 (C Translation) * * LAST MODIFICATION: 08/22/96 Eric Malroy * * INCLUDE: ,,"define.h" * * GLOBAL VARIABLES: * * cp - specific heat at const pressure (J/kg.K) * * prandt - Prandtl number (0.71) * * PROTOTYPES: * * void pipfr(double, double, double, double *, double *) * * PRE: cp, prandt * * POST: *ptr_ht, *ptr_fr * ******************************************************************/ void pipfr(double d, /* hydraulic diameter(m) */ double mu, /* dynamic viscosity (kg/(m*s)) */ double re, /* Reynolds number (ABS(g)*D/mu) */ double *pt_ht, /* heat transfer coefficient (W/(m**2*K)) */ double *pt_fr) /* Reynolds friction factor (Ff*Re) (Ff: Fanning friction factor) */ { double ht,fr; /* see ptr definitions */ if(re < 2000.0) fr = 16.0; else if((re > 2000.0)&&(re < 4000.0)) fr = 7.3439e-4*pow(re,1.3142); else if(re >= 4000.0) fr = 0.0791*pow(re,0.75); ht = fr*mu*cp/(2.0*d*prandtl); *pt_fr=fr; *pt_ht=ht; } /****************************************************************** * FUNCTION: foilfr - Evaluates the heat transfer & friction * * factor in a foil regenerator * * FILENAME reynum.c * * PROGRAMMER E. Malroy * * Date: 08/13/96 * * LAST MODIFICATION: 08/22/96 * * INCLUDE: , "define.h" * * GLOBAL VARIABLES: * * cp - specific heat at constant pressure (J/kg.K) * * prandt - Prandtl number (0.71) * * PROTOTYPES: * * void foilfr(double,double,double,double *,double *,double *) * * PRE: prandtl, cp * * POST: *pt_fr, *pt_st, *pt_ht * *******************************************************************/ void foilfr(double d, /* hydraulic diameter (m) */ double mu, /* dynamic viscosity (kg/(m*s)) */ double re, /* reynolds number for foil */ double *pt_st, /* Stanton number */ double *pt_ht, /* heat transfer coefficient (W/(m^2*k)) */ double *pt_fr) /* Reynolds friction factor (Ff*Re) */ /* (Ff: Fanning friction factor) */ { double ht, fr, st; /* see ptr definitions */ if(re < 2000.0) fr = 24.0; else fr = 0.0791*pow(re,0.75); st = fr/(2.0*re*prandtl); ht = st*re*cp*mu/d; *pt_fr = fr; *pt_st = st; *pt_ht = ht; } /****************************************************************** * FUNCTION: matfr -Evaluate heat transfer and transport * * properties in matrix * * FILENAME reynum.c * * PROGRAMMER I.Urieli (FORTRAN) * * E. Malroy (C Translation) * * DATE: 12/01/94 (FORTRAN), 06/15/96 (C Translation) * * LAST MODIFICATION: 08/22/96 * * INCLUDE: ,,"define.h" * * GLOBAL VARIABLES: * * prandt - Prandtl number (0.71) * * PROTOTYPES: * * void matfr(double, double *, double *) * * PRE: prandt * * POST: *pt_st, *pt_fr * ******************************************************************/ void matfr(double re, /* Reynolds number (ABS(g)*D/mu) */ double *pt_st, /* Stanton number (ht/(ABS(g)*Cp)) */ double *pt_fr) /* Fr: Reynolds friction factor (Ff*Re) (Ff: Fanning friction factor) */ { double st,fr; /* See the pointers above for the definition */ st = 0.46*pow(re,(-0.4))/prandtl; fr = 54.0 + 1.43*pow(re,0.78); *pt_st=st; *pt_fr=fr; }