[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of E->trace.basicq as part of caps_per_proc_removal (10e5fc7)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:13:09 PST 2014


Repository : https://github.com/geodynamics/citcoms

On branch  : rajesh-petsc-schur
Link       : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd

>---------------------------------------------------------------

commit 10e5fc7ef2ab9b985f79899dc5bbd1175730cb51
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Wed Sep 24 11:50:26 2014 -0700

    Changed the shape of E->trace.basicq as part of caps_per_proc_removal


>---------------------------------------------------------------

10e5fc7ef2ab9b985f79899dc5bbd1175730cb51
 lib/Checkpoints.c               |   4 +-
 lib/Full_tracer_advection.c     |  14 ++---
 lib/Output.c                    |   6 +-
 lib/Output_gzdir.c              |   6 +-
 lib/Regional_tracer_advection.c |   2 +-
 lib/Tracer_setup.c              | 132 ++++++++++++++++++++--------------------
 lib/tracer_defs.h               |   2 +-
 7 files changed, 83 insertions(+), 83 deletions(-)

diff --git a/lib/Checkpoints.c b/lib/Checkpoints.c
index 08774e3..a62a3e8 100644
--- a/lib/Checkpoints.c
+++ b/lib/Checkpoints.c
@@ -261,7 +261,7 @@ static void tracer_checkpoint(struct All_variables *E, FILE *fp)
     /* the 0-th element of basicq/extraq/ielement is not init'd
      * and won't be used when read it. */
         for(i=0; i<6; i++) {
-            fwrite(E->trace.basicq[CPPR][i], sizeof(double),
+            fwrite(E->trace.basicq[i], sizeof(double),
                    E->trace.ntracers[CPPR]+1, fp);
         }
         for(i=0; i<E->trace.number_of_extra_quantities; i++) {
@@ -320,7 +320,7 @@ static void read_tracer_checkpoint(struct All_variables *E, FILE *fp)
 
     /* read tracer data */
         for(i=0; i<6; i++) {
-            fread(E->trace.basicq[CPPR][i], sizeof(double),
+            fread(E->trace.basicq[i], sizeof(double),
                   E->trace.ntracers[CPPR]+1, fp);
         }
         for(i=0; i<E->trace.number_of_extra_quantities; i++) {
diff --git a/lib/Full_tracer_advection.c b/lib/Full_tracer_advection.c
index cc9f53c..b0dd796 100644
--- a/lib/Full_tracer_advection.c
+++ b/lib/Full_tracer_advection.c
@@ -720,7 +720,7 @@ void full_lost_souls(struct All_variables *E)
         for (mm=0;mm<E->trace.number_of_basic_quantities;mm++) {
             ipos=ireceive_position+mm;
 
-            E->trace.basicq[CPPR][mm][E->trace.ntracers[CPPR]]=REC[CPPR][ipos];
+            E->trace.basicq[mm][E->trace.ntracers[CPPR]]=REC[CPPR][ipos];
         }
         for (mm=0;mm<E->trace.number_of_extra_quantities;mm++) {
             ipos=ireceive_position+E->trace.number_of_basic_quantities+mm;
@@ -728,12 +728,12 @@ void full_lost_souls(struct All_variables *E)
             E->trace.extraq[CPPR][mm][E->trace.ntracers[CPPR]]=REC[CPPR][ipos];
         }
 
-        theta=E->trace.basicq[CPPR][0][E->trace.ntracers[CPPR]];
-        phi=E->trace.basicq[CPPR][1][E->trace.ntracers[CPPR]];
-        rad=E->trace.basicq[CPPR][2][E->trace.ntracers[CPPR]];
-        x=E->trace.basicq[CPPR][3][E->trace.ntracers[CPPR]];
-        y=E->trace.basicq[CPPR][4][E->trace.ntracers[CPPR]];
-        z=E->trace.basicq[CPPR][5][E->trace.ntracers[CPPR]];
+        theta=E->trace.basicq[0][E->trace.ntracers[CPPR]];
+        phi=E->trace.basicq[1][E->trace.ntracers[CPPR]];
+        rad=E->trace.basicq[2][E->trace.ntracers[CPPR]];
+        x=E->trace.basicq[3][E->trace.ntracers[CPPR]];
+        y=E->trace.basicq[4][E->trace.ntracers[CPPR]];
+        z=E->trace.basicq[5][E->trace.ntracers[CPPR]];
 
 
         iel=(E->trace.iget_element)(E,-99,x,y,z,theta,phi,rad);
diff --git a/lib/Output.c b/lib/Output.c
index c3aca65..c2ffe76 100644
--- a/lib/Output.c
+++ b/lib/Output.c
@@ -641,9 +641,9 @@ void output_tracer(struct All_variables *E, int cycles)
       for(n=1;n<=E->trace.ntracers[CPPR];n++) {
           /* write basic quantities (coordinate) */
           fprintf(fp1,"%.12e %.12e %.12e",
-                  E->trace.basicq[CPPR][0][n],
-                  E->trace.basicq[CPPR][1][n],
-                  E->trace.basicq[CPPR][2][n]);
+                  E->trace.basicq[0][n],
+                  E->trace.basicq[1][n],
+                  E->trace.basicq[2][n]);
 
           /* write extra quantities */
           for (i=0; i<E->trace.number_of_extra_quantities; i++) {
diff --git a/lib/Output_gzdir.c b/lib/Output_gzdir.c
index eb5256a..eecb3fe 100644
--- a/lib/Output_gzdir.c
+++ b/lib/Output_gzdir.c
@@ -1047,9 +1047,9 @@ void gzdir_output_tracer(struct All_variables *E, int cycles)
       for(n=1;n<=E->trace.ntracers[CPPR];n++) {
           /* write basic quantities (coordinate) */
           gzprintf(fp1,"%9.5e %9.5e %9.5e",
-                  E->trace.basicq[CPPR][0][n],
-                  E->trace.basicq[CPPR][1][n],
-                  E->trace.basicq[CPPR][2][n]);
+                  E->trace.basicq[0][n],
+                  E->trace.basicq[1][n],
+                  E->trace.basicq[2][n]);
 
           /* write extra quantities */
           for (i=0; i<E->trace.number_of_extra_quantities; i++) {
diff --git a/lib/Regional_tracer_advection.c b/lib/Regional_tracer_advection.c
index c2399ec..516730a 100644
--- a/lib/Regional_tracer_advection.c
+++ b/lib/Regional_tracer_advection.c
@@ -812,7 +812,7 @@ static void put_found_tracers(struct All_variables *E, int recv_size, double *re
                 expand_tracer_arrays(E);
 
             for (pp=0; pp<E->trace.number_of_basic_quantities; pp++)
-                E->trace.basicq[CPPR][pp][ilast] = recv[ipos+pp];
+                E->trace.basicq[pp][ilast] = recv[ipos+pp];
 
             ipos += E->trace.number_of_basic_quantities;
             for (pp=0; pp<E->trace.number_of_extra_quantities; pp++)
diff --git a/lib/Tracer_setup.c b/lib/Tracer_setup.c
index 766c7d9..43a566d 100644
--- a/lib/Tracer_setup.c
+++ b/lib/Tracer_setup.c
@@ -386,12 +386,12 @@ static void predict_tracers(struct All_variables *E)
 
         for (kk=1;kk<=numtracers;kk++) {
 
-            theta0=E->trace.basicq[CPPR][0][kk];
-            phi0=E->trace.basicq[CPPR][1][kk];
-            rad0=E->trace.basicq[CPPR][2][kk];
-            x0=E->trace.basicq[CPPR][3][kk];
-            y0=E->trace.basicq[CPPR][4][kk];
-            z0=E->trace.basicq[CPPR][5][kk];
+            theta0=E->trace.basicq[0][kk];
+            phi0=E->trace.basicq[1][kk];
+            rad0=E->trace.basicq[2][kk];
+            x0=E->trace.basicq[3][kk];
+            y0=E->trace.basicq[4][kk];
+            z0=E->trace.basicq[5][kk];
 
             nelem=E->trace.ielement[CPPR][kk];
             (E->trace.get_velocity)(E,nelem,theta0,phi0,rad0,velocity_vector);
@@ -408,24 +408,24 @@ static void predict_tracers(struct All_variables *E)
 
             /* Current Coordinates are always kept in positions 0-5. */
 
-            E->trace.basicq[CPPR][0][kk]=theta_pred;
-            E->trace.basicq[CPPR][1][kk]=phi_pred;
-            E->trace.basicq[CPPR][2][kk]=rad_pred;
-            E->trace.basicq[CPPR][3][kk]=x_pred;
-            E->trace.basicq[CPPR][4][kk]=y_pred;
-            E->trace.basicq[CPPR][5][kk]=z_pred;
+            E->trace.basicq[0][kk]=theta_pred;
+            E->trace.basicq[1][kk]=phi_pred;
+            E->trace.basicq[2][kk]=rad_pred;
+            E->trace.basicq[3][kk]=x_pred;
+            E->trace.basicq[4][kk]=y_pred;
+            E->trace.basicq[5][kk]=z_pred;
 
             /* Fill in original coords (positions 6-8) */
 
-            E->trace.basicq[CPPR][6][kk]=x0;
-            E->trace.basicq[CPPR][7][kk]=y0;
-            E->trace.basicq[CPPR][8][kk]=z0;
+            E->trace.basicq[6][kk]=x0;
+            E->trace.basicq[7][kk]=y0;
+            E->trace.basicq[8][kk]=z0;
 
             /* Fill in original velocities (positions 9-11) */
 
-            E->trace.basicq[CPPR][9][kk]=velocity_vector[1];  /* Vx */
-            E->trace.basicq[CPPR][10][kk]=velocity_vector[2];  /* Vy */
-            E->trace.basicq[CPPR][11][kk]=velocity_vector[3];  /* Vz */
+            E->trace.basicq[9][kk]=velocity_vector[1];  /* Vx */
+            E->trace.basicq[10][kk]=velocity_vector[2];  /* Vy */
+            E->trace.basicq[11][kk]=velocity_vector[3];  /* Vz */
 
 
         } /* end kk, predicting tracers */
@@ -478,20 +478,20 @@ static void correct_tracers(struct All_variables *E)
 
         for (kk=1;kk<=E->trace.ntracers[CPPR];kk++) {
 
-            theta_pred=E->trace.basicq[CPPR][0][kk];
-            phi_pred=E->trace.basicq[CPPR][1][kk];
-            rad_pred=E->trace.basicq[CPPR][2][kk];
-            x_pred=E->trace.basicq[CPPR][3][kk];
-            y_pred=E->trace.basicq[CPPR][4][kk];
-            z_pred=E->trace.basicq[CPPR][5][kk];
+            theta_pred=E->trace.basicq[0][kk];
+            phi_pred=E->trace.basicq[1][kk];
+            rad_pred=E->trace.basicq[2][kk];
+            x_pred=E->trace.basicq[3][kk];
+            y_pred=E->trace.basicq[4][kk];
+            z_pred=E->trace.basicq[5][kk];
 
-            x0=E->trace.basicq[CPPR][6][kk];
-            y0=E->trace.basicq[CPPR][7][kk];
-            z0=E->trace.basicq[CPPR][8][kk];
+            x0=E->trace.basicq[6][kk];
+            y0=E->trace.basicq[7][kk];
+            z0=E->trace.basicq[8][kk];
 
-            Vx0=E->trace.basicq[CPPR][9][kk];
-            Vy0=E->trace.basicq[CPPR][10][kk];
-            Vz0=E->trace.basicq[CPPR][11][kk];
+            Vx0=E->trace.basicq[9][kk];
+            Vy0=E->trace.basicq[10][kk];
+            Vz0=E->trace.basicq[11][kk];
 
             nelem=E->trace.ielement[CPPR][kk];
 
@@ -510,12 +510,12 @@ static void correct_tracers(struct All_variables *E)
 
             /* Fill in Current Positions (other positions are no longer important) */
 
-            E->trace.basicq[CPPR][0][kk]=theta_cor;
-            E->trace.basicq[CPPR][1][kk]=phi_cor;
-            E->trace.basicq[CPPR][2][kk]=rad_cor;
-            E->trace.basicq[CPPR][3][kk]=x_cor;
-            E->trace.basicq[CPPR][4][kk]=y_cor;
-            E->trace.basicq[CPPR][5][kk]=z_cor;
+            E->trace.basicq[0][kk]=theta_cor;
+            E->trace.basicq[1][kk]=phi_cor;
+            E->trace.basicq[2][kk]=rad_cor;
+            E->trace.basicq[3][kk]=x_cor;
+            E->trace.basicq[4][kk]=y_cor;
+            E->trace.basicq[5][kk]=z_cor;
 
         } /* end kk, correcting tracers */
 
@@ -580,12 +580,12 @@ static void find_tracers(struct All_variables *E)
 
             it++;
 
-            theta=E->trace.basicq[CPPR][0][it];
-            phi=E->trace.basicq[CPPR][1][it];
-            rad=E->trace.basicq[CPPR][2][it];
-            x=E->trace.basicq[CPPR][3][it];
-            y=E->trace.basicq[CPPR][4][it];
-            z=E->trace.basicq[CPPR][5][it];
+            theta=E->trace.basicq[0][it];
+            phi=E->trace.basicq[1][it];
+            rad=E->trace.basicq[2][it];
+            x=E->trace.basicq[3][it];
+            y=E->trace.basicq[4][it];
+            z=E->trace.basicq[5][it];
 
             iprevious_element=E->trace.ielement[CPPR][it];
 
@@ -832,12 +832,12 @@ static void generate_random_tracers(struct All_variables *E, int tracers_cap)
         E->trace.ntracers[CPPR]++;
         kk=E->trace.ntracers[CPPR];
 
-        E->trace.basicq[CPPR][0][kk]=theta;
-        E->trace.basicq[CPPR][1][kk]=phi;
-        E->trace.basicq[CPPR][2][kk]=rad;
-        E->trace.basicq[CPPR][3][kk]=x;
-        E->trace.basicq[CPPR][4][kk]=y;
-        E->trace.basicq[CPPR][5][kk]=z;
+        E->trace.basicq[0][kk]=theta;
+        E->trace.basicq[1][kk]=phi;
+        E->trace.basicq[2][kk]=rad;
+        E->trace.basicq[3][kk]=x;
+        E->trace.basicq[4][kk]=y;
+        E->trace.basicq[5][kk]=z;
 
     } /* end while */
 }
@@ -945,12 +945,12 @@ static void read_tracer_file(struct All_variables *E)
             if (E->trace.ntracers[CPPR]>=(E->trace.max_ntracers[CPPR]-5)) 
               expand_tracer_arrays(E);
 
-            E->trace.basicq[CPPR][0][E->trace.ntracers[CPPR]]=theta;
-            E->trace.basicq[CPPR][1][E->trace.ntracers[CPPR]]=phi;
-            E->trace.basicq[CPPR][2][E->trace.ntracers[CPPR]]=rad;
-            E->trace.basicq[CPPR][3][E->trace.ntracers[CPPR]]=x;
-            E->trace.basicq[CPPR][4][E->trace.ntracers[CPPR]]=y;
-            E->trace.basicq[CPPR][5][E->trace.ntracers[CPPR]]=z;
+            E->trace.basicq[0][E->trace.ntracers[CPPR]]=theta;
+            E->trace.basicq[1][E->trace.ntracers[CPPR]]=phi;
+            E->trace.basicq[2][E->trace.ntracers[CPPR]]=rad;
+            E->trace.basicq[3][E->trace.ntracers[CPPR]]=x;
+            E->trace.basicq[4][E->trace.ntracers[CPPR]]=y;
+            E->trace.basicq[5][E->trace.ntracers[CPPR]]=z;
 
             for (i=0; i<E->trace.number_of_extra_quantities; i++)
                 E->trace.extraq[CPPR][i][E->trace.ntracers[CPPR]]=buffer[i+3];
@@ -1075,12 +1075,12 @@ static void read_old_tracer_file(struct All_variables *E)
 
             (E->trace.keep_within_bounds)(E,&x,&y,&z,&theta,&phi,&rad);
 
-            E->trace.basicq[CPPR][0][kk]=theta;
-            E->trace.basicq[CPPR][1][kk]=phi;
-            E->trace.basicq[CPPR][2][kk]=rad;
-            E->trace.basicq[CPPR][3][kk]=x;
-            E->trace.basicq[CPPR][4][kk]=y;
-            E->trace.basicq[CPPR][5][kk]=z;
+            E->trace.basicq[0][kk]=theta;
+            E->trace.basicq[1][kk]=phi;
+            E->trace.basicq[2][kk]=rad;
+            E->trace.basicq[3][kk]=x;
+            E->trace.basicq[4][kk]=y;
+            E->trace.basicq[5][kk]=z;
 
             for (i=0; i<E->trace.number_of_extra_quantities; i++)
                 E->trace.extraq[CPPR][i][kk]=buffer[i+3];
@@ -1209,7 +1209,7 @@ static void init_tracer_flavors(struct All_variables *E)
 
 	number_of_tracers = E->trace.ntracers[CPPR];
 	for (kk=1;kk<=number_of_tracers;kk++) {
-	  rad = E->trace.basicq[CPPR][2][kk];
+	  rad = E->trace.basicq[2][kk];
 
           flavor = E->trace.nflavors - 1;
           for (i=0; i<E->trace.nflavors-1; i++) {
@@ -1366,7 +1366,7 @@ void allocate_tracer_arrays(struct All_variables *E, int number_of_tracers)
 
 
     for (kk=0;kk<E->trace.number_of_basic_quantities;kk++) {
-        if ((E->trace.basicq[CPPR][kk]=(double *)malloc(E->trace.max_ntracers[CPPR]*sizeof(double)))==NULL) {
+        if ((E->trace.basicq[kk]=(double *)malloc(E->trace.max_ntracers[CPPR]*sizeof(double)))==NULL) {
             fprintf(E->trace.fpt,"ERROR(initialize tracer arrays)-no memory 1b.%d\n",kk);
             fflush(E->trace.fpt);
             exit(10);
@@ -1422,7 +1422,7 @@ void expand_tracer_arrays(struct All_variables *E)
     }
 
     for (kk=0;kk<=((E->trace.number_of_basic_quantities)-1);kk++) {
-        if ((E->trace.basicq[CPPR][kk]=(double *)realloc(E->trace.basicq[CPPR][kk],inewsize*sizeof(double)))==NULL) {
+        if ((E->trace.basicq[kk]=(double *)realloc(E->trace.basicq[kk],inewsize*sizeof(double)))==NULL) {
             fprintf(E->trace.fpt,"ERROR(expand tracer arrays )-no memory (%d)\n",kk);
             fflush(E->trace.fpt);
             exit(10);
@@ -1483,7 +1483,7 @@ static void reduce_tracer_arrays(struct All_variables *E)
 
 
             for (kk=0;kk<=((E->trace.number_of_basic_quantities)-1);kk++) {
-                if ((E->trace.basicq[CPPR][kk]=(double *)realloc(E->trace.basicq[CPPR][kk],inewsize*sizeof(double)))==NULL) {
+                if ((E->trace.basicq[kk]=(double *)realloc(E->trace.basicq[kk],inewsize*sizeof(double)))==NULL) {
                     fprintf(E->trace.fpt,"AKM(reduce tracer arrays )-no memory (%d)\n",kk);
                     fflush(E->trace.fpt);
                     exit(10);
@@ -1546,7 +1546,7 @@ static void put_away_later(struct All_variables *E, int it)
     /* stack basic and extra quantities together (basic first) */
 
     for (kk=0;kk<=((E->trace.number_of_basic_quantities)-1);kk++)
-        E->trace.rlater[CPPR][kk][E->trace.ilater[CPPR]]=E->trace.basicq[CPPR][kk][it];
+        E->trace.rlater[CPPR][kk][E->trace.ilater[CPPR]]=E->trace.basicq[kk][it];
 
     for (kk=0;kk<=((E->trace.number_of_extra_quantities)-1);kk++)
         E->trace.rlater[CPPR][E->trace.number_of_basic_quantities+kk][E->trace.ilater[CPPR]]=E->trace.extraq[CPPR][kk][it];
@@ -1598,7 +1598,7 @@ static void eject_tracer(struct All_variables *E, int it)
     E->trace.ielement[CPPR][it]=E->trace.ielement[CPPR][ilast_tracer];
 
     for (kk=0;kk<=((E->trace.number_of_basic_quantities)-1);kk++)
-        E->trace.basicq[CPPR][kk][it]=E->trace.basicq[CPPR][kk][ilast_tracer];
+        E->trace.basicq[kk][it]=E->trace.basicq[kk][ilast_tracer];
 
     for (kk=0;kk<=((E->trace.number_of_extra_quantities)-1);kk++)
         E->trace.extraq[CPPR][kk][it]=E->trace.extraq[CPPR][kk][ilast_tracer];
diff --git a/lib/tracer_defs.h b/lib/tracer_defs.h
index f0513e6..1827428 100644
--- a/lib/tracer_defs.h
+++ b/lib/tracer_defs.h
@@ -51,7 +51,7 @@ struct TRACE{
     int number_of_extra_quantities;
     int number_of_tracer_quantities;
 
-    double *basicq[13][100];
+    double *basicq[100];
     double *extraq[13][100];
 
     int ntracers[13];



More information about the CIG-COMMITS mailing list