[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