Example #1
0
int main(int argc, char **argv) {
  if (argc < 3) {
    fprintf(stderr, "Usage: h5maxdiff file1.h5 file2.h5");
    exit(-1);
  }
  file1 = argv[1]; file2 = argv[2];
  hid_t f1 = H5Fopen(file1, H5F_ACC_RDONLY, H5P_DEFAULT);
  hid_t f2 = H5Fopen(file2, H5F_ACC_RDONLY, H5P_DEFAULT);
  rdiff("/", f1, f2);
  H5Fclose(f1);
  H5Fclose(f2);
}
Example #2
0
void tdiff( double dtrad, double radtime, double depositionFraction )
{
   char *me = "tdiff";
   char *bufname = "RBNDCOM";
   int comerr = 0;
   int iblk ;
   int my_nblk = nblk ;
   double fraction ;
   double myflops = 0.0;
   FT_INITIALIZE(me, gv_hash_tbl) ;
#include "pardo.h"
   for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
     ChemPotCalc( domains[iblk].den, domains[iblk].tmat, &domains[iblk] ) ;
   }
      RadiationAllocate( &rblk, &rblkbak, &cblk, &tblk, (ifedif + ifidif) ) ;
      comerr += rbndcom(RBNDCOM2,COM_RECV,0);
      comerr += rbndcom(RBNDCOM2,COM_SEND,0);
      comerr += rbndcom(RBNDCOM2,COM_WAIT_RECV,0);
      comerr += rbndcom(RBNDCOM2,COM_WAIT_SEND,0);
      if ( ndims == 2 ) {
#include "pardo.h"
         for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
  	    volcal2d( domains[iblk].vol, domains[iblk].area,
		      domains[iblk].x  , domains[iblk].y,
		      &domains[iblk] ) ;
	 }
      }
      if ( ndims == 3 ) {
#include "pardo.h"
         for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
	    volcal3d( domains[iblk].vol, domains[iblk].x, domains[iblk].y,
		      domains[iblk].z, &domains[iblk] ) ;
	 }
      }
#include "pardo.h"
      for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
	 int length = domains[iblk].namix ;
         DivgradDriver( domains[iblk].x, domains[iblk].y, domains[iblk].z,
		        &domains[iblk], &rblk[iblk] ) ;
         if ( (ifedif + ifidif) > 0 ) {
 	    CopyMatrix( &rblkbak[iblk], &rblk[iblk], length, ndims ) ;
	 }
      }
#include "pardo.h"
      for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
         refzq( domains[iblk].vol, &domains[iblk] ) ;
      }
      if ( (ifidif > 0) && (iftion == 1) ) {
         tblkinit( tblk ) ;
         IonConduction( rblk, cblk, tblk, domains, dtrad, radtime ) ;
#include "pardo.h"
         for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
            CopyMatrix( &rblk[iblk], &rblkbak[iblk], 
                        domains[iblk].namix, ndims ) ;
	 }
      }
      if ( ifedif > 0 ) {
         tblkinit( tblk ) ;
         ElectronConduction( rblk, cblk, tblk, domains, dtrad, radtime ) ;
#include "pardo.h"
	 for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
            CopyMatrix( &rblk[iblk], &rblkbak[iblk], 
                        domains[iblk].namix, ndims ) ;
	 }
      }
      if ( ngroup == 1 ) {
         tblkinit( tblk ) ;
         rdiff( rblk, cblk, tblk, domains, dtrad, radtime, depositionFraction ) ;
      }
      RadiationFree( rblk, rblkbak, cblk, tblk, (ifedif + ifidif) ) ;
#include "pardo.h"
      for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
         setpz1( domains[iblk].vol, 0.0, &domains[iblk] ) ;
         setpz2( domains[iblk].vol, 0.0, &domains[iblk] ) ;
      }
#include "pardo.h"
      for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
         setpz1( domains[iblk].den, 0.0, &domains[iblk] ) ;
         setpz2( domains[iblk].den, 0.0, &domains[iblk] ) ;
      }
#include "pardo.h"
      for ( iblk = 0 ; iblk < my_nblk ; iblk++ ) {
         int i;
         int n;
         int *ndx;
         n   = domains[iblk].rlen[0] ;
         ndx = domains[iblk].rndx[0] ;
         for ( i = 0 ; i < n ; i++ )  {
            domains[iblk].ireg[ndx[i]] = 0 ;
         }
      }
   FT_FINALIZE(me, gv_hash_tbl, myflops) ;
}