[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of E->SinCos as part of caps_per_proc removal (cd77284)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:12:01 PST 2014


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

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

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

commit cd77284c73c6be19a2fc166bd40366ba2dac967b
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Tue Sep 23 16:00:45 2014 -0700

    Changed the shape of E->SinCos as part of caps_per_proc removal


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

cd77284c73c6be19a2fc166bd40366ba2dac967b
 lib/Full_tracer_advection.c      | 16 ++++++++--------
 lib/Full_version_dependent.c     | 16 ++++++++--------
 lib/Global_operations.c          |  2 +-
 lib/Instructions.c               |  2 +-
 lib/Nodal_mesh.c                 | 16 ++++++++--------
 lib/Output_vtk.c                 |  8 ++++----
 lib/Pan_problem_misc_functions.c |  8 ++++----
 lib/Regional_version_dependent.c |  8 ++++----
 lib/Size_does_matter.c           | 40 ++++++++++++++++++++--------------------
 lib/Solver_multigrid.c           | 16 ++++++++--------
 lib/global_defs.h                |  2 +-
 11 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/lib/Full_tracer_advection.c b/lib/Full_tracer_advection.c
index 983c604..3400db0 100644
--- a/lib/Full_tracer_advection.c
+++ b/lib/Full_tracer_advection.c
@@ -2142,10 +2142,10 @@ static int icheck_element_column(struct All_variables *E,
             rnode[kk][4]=E->sx[1][node];
             rnode[kk][5]=E->sx[2][node];
 
-            rnode[kk][6]=E->SinCos[lev][CPPR][2][node]; /* cos(theta) */
-            rnode[kk][7]=E->SinCos[lev][CPPR][0][node]; /* sin(theta) */
-            rnode[kk][8]=E->SinCos[lev][CPPR][3][node]; /* cos(phi) */
-            rnode[kk][9]=E->SinCos[lev][CPPR][1][node]; /* sin(phi) */
+            rnode[kk][6]=E->SinCos[lev][2][node]; /* cos(theta) */
+            rnode[kk][7]=E->SinCos[lev][0][node]; /* sin(theta) */
+            rnode[kk][8]=E->SinCos[lev][3][node]; /* cos(phi) */
+            rnode[kk][9]=E->SinCos[lev][1][node]; /* sin(phi) */
 
         }
 
@@ -2797,10 +2797,10 @@ static void define_uv_space(struct All_variables *E)
         exit(10);
     }
 
-    sint = E->SinCos[lev][CPPR][0];
-    sinf = E->SinCos[lev][CPPR][1];
-    cost = E->SinCos[lev][CPPR][2];
-    cosf = E->SinCos[lev][CPPR][3];
+    sint = E->SinCos[lev][0];
+    sinf = E->SinCos[lev][1];
+    cost = E->SinCos[lev][2];
+    cosf = E->SinCos[lev][3];
 
     /* uv space requires a reference point */
     /* use the point at middle of the cap */
diff --git a/lib/Full_version_dependent.c b/lib/Full_version_dependent.c
index 4b9a48a..03361cc 100644
--- a/lib/Full_version_dependent.c
+++ b/lib/Full_version_dependent.c
@@ -207,19 +207,19 @@ void full_node_locations(E)
   for (lev=E->mesh.levmin;lev<=E->mesh.levmax;lev++)
       for (i=1;i<=E->lmesh.NNO[lev];i++)  {
 	tg = theta_g(E->SX[lev][1][i],E);
-	E->SinCos[lev][CPPR][0][i] = sin(tg); /*  */
-	E->SinCos[lev][CPPR][1][i] = sin(E->SX[lev][2][i]);
-	E->SinCos[lev][CPPR][2][i] = cos(tg);
-	E->SinCos[lev][CPPR][3][i] = cos(E->SX[lev][2][i]);
+	E->SinCos[lev][0][i] = sin(tg); /*  */
+	E->SinCos[lev][1][i] = sin(E->SX[lev][2][i]);
+	E->SinCos[lev][2][i] = cos(tg);
+	E->SinCos[lev][3][i] = cos(E->SX[lev][2][i]);
       }
 #else
   /* spherical */
   for (lev=E->mesh.levmin;lev<=E->mesh.levmax;lev++)
       for (i=1;i<=E->lmesh.NNO[lev];i++)  {
-	E->SinCos[lev][CPPR][0][i] = sin(E->SX[lev][1][i]); /* sin(theta) */
-	E->SinCos[lev][CPPR][1][i] = sin(E->SX[lev][2][i]); /* sin(phi) */
-	E->SinCos[lev][CPPR][2][i] = cos(E->SX[lev][1][i]); /* cos(theta) */
-	E->SinCos[lev][CPPR][3][i] = cos(E->SX[lev][2][i]); /* cos(phi) */
+	E->SinCos[lev][0][i] = sin(E->SX[lev][1][i]); /* sin(theta) */
+	E->SinCos[lev][1][i] = sin(E->SX[lev][2][i]); /* sin(phi) */
+	E->SinCos[lev][2][i] = cos(E->SX[lev][1][i]); /* cos(theta) */
+	E->SinCos[lev][3][i] = cos(E->SX[lev][2][i]); /* cos(phi) */
       }
 #endif
 }
diff --git a/lib/Global_operations.c b/lib/Global_operations.c
index a6c59e6..5a1af92 100644
--- a/lib/Global_operations.c
+++ b/lib/Global_operations.c
@@ -972,7 +972,7 @@ void remove_rigid_rot(struct All_variables *E)
 	frd = fr - E->sx[2][node];
 	v_theta = E->sx[3][node] * sin_t * sin(frd);
 	v_phi =   E->sx[3][node] * 
-	  (  E->SinCos[lev][CPPR][0][node] * cos_t - E->SinCos[lev][CPPR][2][node]  * sin_t * cos(frd) );
+	  (  E->SinCos[lev][0][node] * cos_t - E->SinCos[lev][2][node]  * sin_t * cos(frd) );
 	
 	E->sphere.cap[CPPR].V[1][node] -= v_theta;
 	E->sphere.cap[CPPR].V[2][node] -= v_phi;
diff --git a/lib/Instructions.c b/lib/Instructions.c
index cb7bd76..f8b23af 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -1021,7 +1021,7 @@ void allocate_common_vars(E)
       }
 
     for(d=0;d<=3;d++)
-      E->SinCos[i][CPPR][d]  = (double *)  malloc((nno+1)*sizeof(double));
+      E->SinCos[i][d]  = (double *)  malloc((nno+1)*sizeof(double));
 
     E->IEN[i][CPPR] = (struct IEN *)   malloc((nel+2)*sizeof(struct IEN));
     E->EL[i][CPPR]  = (struct SUBEL *) malloc((nel+2)*sizeof(struct SUBEL));
diff --git a/lib/Nodal_mesh.c b/lib/Nodal_mesh.c
index 0519faf..1ce96c1 100644
--- a/lib/Nodal_mesh.c
+++ b/lib/Nodal_mesh.c
@@ -130,10 +130,10 @@ void velo_from_element(E,VV,el,sphere_key)
         for(a=1;a<=ends;a++)   {
             node = E->ien[el].node[a];
 
-            sint = E->SinCos[lev][CPPR][0][node]; 
-            sinf = E->SinCos[lev][CPPR][1][node];
-            cost = E->SinCos[lev][CPPR][2][node];
-            cosf = E->SinCos[lev][CPPR][3][node];
+            sint = E->SinCos[lev][0][node]; 
+            sinf = E->SinCos[lev][1][node];
+            cost = E->SinCos[lev][2][node];
+            cosf = E->SinCos[lev][3][node];
 
             VV[1][a] = E->sphere.cap[CPPR].V[1][node]*cost*cosf
                 - E->sphere.cap[CPPR].V[2][node]*sinf
@@ -172,10 +172,10 @@ void velo_from_element_d(E,VV,el,sphere_key)
         for(a=1;a<=ends;a++)   {
             node = E->ien[el].node[a];
 
-            sint = E->SinCos[lev][CPPR][0][node];
-            sinf = E->SinCos[lev][CPPR][1][node];
-            cost = E->SinCos[lev][CPPR][2][node];
-            cosf = E->SinCos[lev][CPPR][3][node];
+            sint = E->SinCos[lev][0][node];
+            sinf = E->SinCos[lev][1][node];
+            cost = E->SinCos[lev][2][node];
+            cosf = E->SinCos[lev][3][node];
 
             VV[1][a] = E->sphere.cap[CPPR].V[1][node]*cost*cosf
                 - E->sphere.cap[CPPR].V[2][node]*sinf
diff --git a/lib/Output_vtk.c b/lib/Output_vtk.c
index ca451c4..190f7a7 100644
--- a/lib/Output_vtk.c
+++ b/lib/Output_vtk.c
@@ -140,10 +140,10 @@ static void vtk_output_velo(struct All_variables *E, FILE *fp)
         V[3] = E->sphere.cap[CPPR].V[3];
 
         for(i=1; i<=E->lmesh.nno; i++) {
-            sint = E->SinCos[lev][CPPR][0][i];
-            sinf = E->SinCos[lev][CPPR][1][i];
-            cost = E->SinCos[lev][CPPR][2][i];
-            cosf = E->SinCos[lev][CPPR][3][i];
+            sint = E->SinCos[lev][0][i];
+            sinf = E->SinCos[lev][1][i];
+            cost = E->SinCos[lev][2][i];
+            cosf = E->SinCos[lev][3][i];
 
             floatvel[(((CPPR-1)*E->sphere.caps_per_proc)+i-1)*3+0] = (float)(V[1][i]*cost*cosf - V[2][i]*sinf + V[3][i]*sint*cosf);
             floatvel[(((CPPR-1)*E->sphere.caps_per_proc)+i-1)*3+1] = (float)(V[1][i]*cost*sinf + V[2][i]*cosf + V[3][i]*sint*sinf);
diff --git a/lib/Pan_problem_misc_functions.c b/lib/Pan_problem_misc_functions.c
index 207b351..320f6de 100644
--- a/lib/Pan_problem_misc_functions.c
+++ b/lib/Pan_problem_misc_functions.c
@@ -448,10 +448,10 @@ void calc_cbase_at_node(int node, float *base,struct All_variables *E)
   int lev ;
   double ct,cp,st,sp;
   lev = E->mesh.levmax;
-  st = E->SinCos[lev][CPPR][0][node]; /* for elliptical, sincos would be  corrected */
-  sp = E->SinCos[lev][CPPR][1][node];
-  ct = E->SinCos[lev][CPPR][2][node];
-  cp = E->SinCos[lev][CPPR][3][node];
+  st = E->SinCos[lev][0][node]; /* for elliptical, sincos would be  corrected */
+  sp = E->SinCos[lev][1][node];
+  ct = E->SinCos[lev][2][node];
+  cp = E->SinCos[lev][3][node];
            
   /* r */
   base[0]= st * cp;
diff --git a/lib/Regional_version_dependent.c b/lib/Regional_version_dependent.c
index 1e42ec4..d3664a8 100644
--- a/lib/Regional_version_dependent.c
+++ b/lib/Regional_version_dependent.c
@@ -163,10 +163,10 @@ void regional_node_locations(E)
 #endif
   for (lev=E->mesh.levmin;lev<=E->mesh.levmax;lev++)
       for (i=1;i<=E->lmesh.NNO[lev];i++)  {
-        E->SinCos[lev][CPPR][0][i] = sin(E->SX[lev][1][i]);
-        E->SinCos[lev][CPPR][1][i] = sin(E->SX[lev][2][i]);
-        E->SinCos[lev][CPPR][2][i] = cos(E->SX[lev][1][i]);
-        E->SinCos[lev][CPPR][3][i] = cos(E->SX[lev][2][i]);
+        E->SinCos[lev][0][i] = sin(E->SX[lev][1][i]);
+        E->SinCos[lev][1][i] = sin(E->SX[lev][2][i]);
+        E->SinCos[lev][2][i] = cos(E->SX[lev][1][i]);
+        E->SinCos[lev][3][i] = cos(E->SX[lev][2][i]);
       }
 
   if (E->control.verbose) {
diff --git a/lib/Size_does_matter.c b/lib/Size_does_matter.c
index 039d7f6..e58df9d 100644
--- a/lib/Size_does_matter.c
+++ b/lib/Size_does_matter.c
@@ -630,10 +630,10 @@ void construct_c3x3matrix_el (struct All_variables *E,int el,struct CC *cc,
         for(a=1;a<=ends;a++)   {
 
 	  lnode = E->IEN[lev][CPPR][el].node[a];
-	  sintt = E->SinCos[lev][CPPR][0][lnode];
-	  sinff = E->SinCos[lev][CPPR][1][lnode];
-	  costt = E->SinCos[lev][CPPR][2][lnode];
-	  cosff = E->SinCos[lev][CPPR][3][lnode];
+	  sintt = E->SinCos[lev][0][lnode];
+	  sinff = E->SinCos[lev][1][lnode];
+	  costt = E->SinCos[lev][2][lnode];
+	  cosff = E->SinCos[lev][3][lnode];
 
           ua[1][1] = costt*cosff; ua[1][2] = costt*sinff;  ua[1][3] =-sintt;
           ua[2][1] =-sinff;       ua[2][2] = cosff;        ua[2][3] = 0.0;
@@ -713,10 +713,10 @@ void construct_side_c3x3matrix_el(struct All_variables *E,int el,
 	a=sidenodes[side][aa];
 
 	lnode = E->IEN[lev][CPPR][el].node[a];
-	sintt = E->SinCos[lev][CPPR][0][lnode];
-	sinff = E->SinCos[lev][CPPR][1][lnode];
-	costt = E->SinCos[lev][CPPR][2][lnode];
-	cosff = E->SinCos[lev][CPPR][3][lnode];
+	sintt = E->SinCos[lev][0][lnode];
+	sinff = E->SinCos[lev][1][lnode];
+	costt = E->SinCos[lev][2][lnode];
+	cosff = E->SinCos[lev][3][lnode];
 
 	ua[1][1] = costt*cosff; ua[1][2] = costt*sinff;  ua[1][3] =-sintt;
 	ua[2][1] =-sinff;       ua[2][2] = cosff;        ua[2][3] = 0.0;
@@ -772,10 +772,10 @@ void construct_side_c3x3matrix_el(struct All_variables *E,int el,
 	aa=sidenodes[side][a];
 
 	lnode = E->IEN[lev][CPPR][el].node[aa];
-	sintt = E->SinCos[lev][CPPR][0][lnode];
-	sinff = E->SinCos[lev][CPPR][1][lnode];
-	costt = E->SinCos[lev][CPPR][2][lnode];
-	cosff = E->SinCos[lev][CPPR][3][lnode];
+	sintt = E->SinCos[lev][0][lnode];
+	sinff = E->SinCos[lev][1][lnode];
+	costt = E->SinCos[lev][2][lnode];
+	cosff = E->SinCos[lev][3][lnode];
 
 	ua[1][1] = costt*cosff; ua[1][2] = costt*sinff;  ua[1][3] =-sintt;
 	ua[2][1] =-sinff;       ua[2][2] = cosff;        ua[2][3] = 0.0;
@@ -853,10 +853,10 @@ void construct_c3x3matrix(E)
         for(a=1;a<=ends;a++)   {
 
 	  lnode = E->IEN[lev][CPPR][el].node[a];
-	  sintt = E->SinCos[lev][CPPR][0][lnode];
-	  sinff = E->SinCos[lev][CPPR][1][lnode];
-	  costt = E->SinCos[lev][CPPR][2][lnode];
-	  cosff = E->SinCos[lev][CPPR][3][lnode];
+	  sintt = E->SinCos[lev][0][lnode];
+	  sinff = E->SinCos[lev][1][lnode];
+	  costt = E->SinCos[lev][2][lnode];
+	  cosff = E->SinCos[lev][3][lnode];
 
           ua[1][1] = costt*cosff; ua[1][2] = costt*sinff;  ua[1][3] =-sintt;
           ua[2][1] =-sinff;       ua[2][2] = cosff;        ua[2][3] = 0.0;
@@ -911,10 +911,10 @@ void construct_c3x3matrix(E)
         for(a=1;a<=ends;a++)   {
 
 	  lnode = E->IEN[lev][CPPR][el].node[a];
-	  sintt = E->SinCos[lev][CPPR][0][lnode];
-	  sinff = E->SinCos[lev][CPPR][1][lnode];
-	  costt = E->SinCos[lev][CPPR][2][lnode];
-	  cosff = E->SinCos[lev][CPPR][3][lnode];
+	  sintt = E->SinCos[lev][0][lnode];
+	  sinff = E->SinCos[lev][1][lnode];
+	  costt = E->SinCos[lev][2][lnode];
+	  cosff = E->SinCos[lev][3][lnode];
 
 
           ua[1][1] = costt*cosff; ua[1][2] = costt*sinff;  ua[1][3] =-sintt;
diff --git a/lib/Solver_multigrid.c b/lib/Solver_multigrid.c
index a118a33..5044d45 100644
--- a/lib/Solver_multigrid.c
+++ b/lib/Solver_multigrid.c
@@ -556,10 +556,10 @@ void project_vector(E,start_lev,AU,AD,ic)
      eqn1 = E->ID[level][CPPR][i].doff[1];
      eqn2 = E->ID[level][CPPR][i].doff[2];
      eqn3 = E->ID[level][CPPR][i].doff[3];
-     sint = E->SinCos[level][CPPR][0][i];
-     sinf = E->SinCos[level][CPPR][1][i];
-     cost = E->SinCos[level][CPPR][2][i];
-     cosf = E->SinCos[level][CPPR][3][i];
+     sint = E->SinCos[level][0][i];
+     sinf = E->SinCos[level][1][i];
+     cost = E->SinCos[level][2][i];
+     cosf = E->SinCos[level][3][i];
      rtf[eqn1] = xyz[eqn1]*cost*cosf
                   + xyz[eqn2]*cost*sinf
                   - xyz[eqn3]*sint;
@@ -585,10 +585,10 @@ void project_vector(E,start_lev,AU,AD,ic)
      eqn1 = E->ID[level][CPPR][i].doff[1];
      eqn2 = E->ID[level][CPPR][i].doff[2];
      eqn3 = E->ID[level][CPPR][i].doff[3];
-     sint = E->SinCos[level][CPPR][0][i];
-     sinf = E->SinCos[level][CPPR][1][i];
-     cost = E->SinCos[level][CPPR][2][i];
-     cosf = E->SinCos[level][CPPR][3][i];
+     sint = E->SinCos[level][0][i];
+     sinf = E->SinCos[level][1][i];
+     cost = E->SinCos[level][2][i];
+     cosf = E->SinCos[level][3][i];
      xyz[eqn1] = rtf[eqn1]*cost*cosf
                   - rtf[eqn2]*sinf
                   + rtf[eqn3]*sint*cosf;
diff --git a/lib/global_defs.h b/lib/global_defs.h
index c925dec..0c75e0f 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -838,7 +838,7 @@ struct All_variables {
     double *SX[MAX_LEVELS][4],*X[MAX_LEVELS][4];
     double *sx[4],*x[4];
     double *surf_det[5];
-    double *SinCos[MAX_LEVELS][NCS][4];
+    double *SinCos[MAX_LEVELS][4];
 
     float *NP;
   //float *stress[NCS];



More information about the CIG-COMMITS mailing list