/*PROGRAMA CURVAMC.C*/ /* PROGRAMA PARA EL CALCULO DE CURVAS DEL COEFICIENTE DE ENVEJECIMIENTO X PARA UNA EDAD INICIAL Y CON UNAS CARACTERISTICAS A LEER DE DATOSC.DAT*/ /*AUTOR: MIGUEL FERNANDEZ RUIZ*/ /*FECHA: FEBRERO 2002*/ #include #include #include int n,i,j,ti,pas ; double HR,e,fck,t0,b,sum,tf,k,X,fhr,bfc,bt,bct; double *fi,*f,*df,*t,*fi0; FILE *dat,*res; double E(double *t); double flu(double *t1,double *t2); void main (void){ if((res=fopen("resul.res","wb"))==NULL){ printf("No se puede abrir resul.res"); exit(1);} if((dat=fopen("datosc.dat","rb"))==NULL){ printf("No se puede abrir datos.dat"); exit(1);} fscanf(dat,"%d %lf %lf %lf %lf %lf %d ",&n,&t0,&tf,&HR,&e,&fck,&pas); fclose(dat); t=malloc(n*sizeof(double)); f=malloc(n*sizeof(double)); df=malloc(n*sizeof(double)); fi=malloc((n*n)*sizeof(double)); fi0=malloc(n*sizeof(double)); printf("tf\tX\n"); fprintf(res,"tf\tX\n"); /*Obtengo la curva de X para distintos t0*/ t0=3.; coefchi (t0); t0=7.; coefchi (t0); t0=16.; coefchi (t0); t0=28.; coefchi (t0); t0=90.; coefchi (t0); t0=200.; coefchi (t0); t0=1000.; coefchi (t0); t0=400.; coefchi (t0); t0=50.; coefchi (t0); /*LIbero la memoria*/ fclose(res); free(t); free(f); free(df); free(fi); free(fi0); } /*Funcion de calculo de f(t) y X*/ coefchi (double t0){ printf("%lf %lf\n",t0+1.0,0.); fprintf(res,"%lf %lf\n",t0+1.0,0.); for(ti=1;tii){ fi[i*n+j]=0.0;} else{ fi[i*n+j]=flu(&t[j],&t[i]);} } } df[0]=fi0[0]*E(&t[0])/E(&t0); for(i=1;i1500.0) b=1500.0; fhr=1.0+((100.0-HR)/(9.9*pow(e,.333333))); bfc=16.8/pow(fck+8.0,0.5); bt=1.0/(0.1+pow(tiem1,0.2)); bct=pow((tiem2-tiem1)/(tiem2-tiem1+b),0.3); return fhr*bfc*bt*bct*E(&tiem1);}