Next: Code for random number Up: Computer programs for three- Previous: Code for assessing percolation

Code for monitoring hydration of individual particles

/* 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);
}



Next: Code for random number Up: Computer programs for three- Previous: Code for assessing percolation