/* Routine to assess relative particle hydration */
void parthyd(){
int norig[50000],nleft[50000];
int ix,iy,iz;
char valmic,valmicorig;
int valpart,partmax;
float alpart;
FILE *phydfile;
/* Initialize the particle count arrays */
for(ix=0;ix<50000;ix++){
nleft[ix]=norig[ix]=0;
}
phydfile=fopen("partlist.hyd","a");
fprintf(phydfile,"%d %f\n",cyccnt,alpha_cur);
partmax=0;
/* Scan the microstructure pixel by pixel and update counts */
for(ix=0;ix<SYSIZE;ix++){
for(iy=0;iy<SYSIZE;iy++){
for(iz=0;iz<SYSIZE;iz++){
if(micpart[ix][iy][iz]!=0){
valpart=micpart[ix][iy][iz];
if(valpart>partmax){partmax=valpart;}
valmic=mic[ix][iy][iz];
if((valmic==C3S)||(valmic==C2S)||(valmic==C3A)||(valmic==C4AF)){
nleft[valpart]+=1;
}
valmicorig=micorig[ix][iy][iz];
if((valmicorig==C3S)||(valmicorig==C2S)||(valmicorig==C3A)
||(valmicorig==C4AF)){
norig[valpart]+=1;
}
}
}
}
}
/* Output results to end of particle hydration file */
for(ix=100;ix<=partmax;ix++){
alpart=0.0;
if(norig[ix]!=0){
alpart=1.-(float)nleft[ix]/(float)norig[ix]);
}
fprintf(phydfile,"%d %d %d %.3f\n",ix,norig[ix],nleft[ix],alpart);
}
fclose(phydfile);
}