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

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:11:51 PST 2014


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

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

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

commit de72b16d9861ac3cdb15de2810239649a2962931
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Tue Sep 23 15:25:10 2014 -0700

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


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

de72b16d9861ac3cdb15de2810239649a2962931
 lib/Advection_diffusion.c          |  4 +--
 lib/BC_util.c                      | 59 ++++++++++++++++++--------------------
 lib/Construct_arrays.c             | 26 ++++++++---------
 lib/Full_boundary_conditions.c     |  4 +--
 lib/Full_parallel_related.c        | 24 ++++++++--------
 lib/General_matrix_functions.c     |  8 +++---
 lib/Global_operations.c            |  4 +--
 lib/Instructions.c                 | 12 ++++----
 lib/Regional_boundary_conditions.c | 52 ++++++++++++++++-----------------
 lib/Regional_parallel_related.c    | 20 ++++++-------
 lib/global_defs.h                  |  2 +-
 lib/prototypes.h                   |  2 +-
 12 files changed, 107 insertions(+), 110 deletions(-)

diff --git a/lib/Advection_diffusion.c b/lib/Advection_diffusion.c
index 2d9b062..70dce59 100644
--- a/lib/Advection_diffusion.c
+++ b/lib/Advection_diffusion.c
@@ -667,7 +667,7 @@ static void filter(struct All_variables *E)
 
         /* compute sum(rho*cp*T) before filtering, skipping nodes
            that's shared by another processor */
-        if(!(E->NODE[lev][CPPR][i] & SKIP))
+        if(!(E->NODE[lev][i] & SKIP))
             Tsum0 += E->T[i]*rhocp[nz];
 
         /* remove overshoot */
@@ -692,7 +692,7 @@ static void filter(struct All_variables *E)
           E->T[i]=Tmax0;
 
         /* sum(rho*cp*T) after filtering */
-        if (!(E->NODE[lev][CPPR][i] & SKIP))  {
+        if (!(E->NODE[lev][i] & SKIP))  {
             Tsum1 += E->T[i]*rhocp[nz];
             if(E->T[i]!=Tmin0 && E->T[i]!=Tmax0) {
                 sum_rhocp += rhocp[nz];
diff --git a/lib/BC_util.c b/lib/BC_util.c
index ce76327..b41ceab 100644
--- a/lib/BC_util.c
+++ b/lib/BC_util.c
@@ -28,7 +28,7 @@
 
 #include "global_defs.h"
 void horizontal_bc(struct All_variables *,float *[],int,int,float,unsigned int,char,int);
-void internal_horizontal_bc(struct All_variables *,float *[],int,int,float,unsigned int,char,int,int);
+void internal_horizontal_bc(struct All_variables *,float *[],int,int,float,unsigned int,char,int);
 void myerror(struct All_variables *,char *);
 int layers(struct All_variables *,int);
 
@@ -47,7 +47,7 @@ without consideration of being in top or bottom processor
 
 */
 void internal_horizontal_bc(struct All_variables *E,float *BC[],int row,int dirn,
-			    float value,unsigned int mask,char onoff,int level,int m)
+			    float value,unsigned int mask,char onoff,int level)
 {
   int i,j,node,noxnoz;
   /* safety feature */
@@ -68,21 +68,18 @@ void internal_horizontal_bc(struct All_variables *E,float *BC[],int row,int dirn
     for(j=1;j<=E->lmesh.NOY[level];j++)
       for(i=1;i<=E->lmesh.NOX[level];i++)     {
 	node = row+(i-1)*E->lmesh.NOZ[level]+(j-1)*noxnoz;
-	E->NODE[level][m][node] = E->NODE[level][m][node] & (~ mask);
+	E->NODE[level][node] = E->NODE[level][node] & (~ mask);
       }        /* end for loop i & j */
   }else        {
     /* turn bc marker to one */
     for(j=1;j<=E->lmesh.NOY[level];j++)
       for(i=1;i<=E->lmesh.NOX[level];i++)       {
 	node = row+(i-1)*E->lmesh.NOZ[level]+(j-1)*noxnoz;
-	E->NODE[level][m][node] = E->NODE[level][m][node] | (mask);
+	E->NODE[level][node] = E->NODE[level][node] | (mask);
 	if(level == E->mesh.levmax)   /* NB */
 	  BC[dirn][node] = value;
       }     /* end for loop i & j */
   }
-
-
-  return;
 }
 
 
@@ -217,23 +214,23 @@ void assign_internal_bc(struct All_variables *E)
 	    if((!ontop)&&(!onbottom)&&(lv==E->mesh.gridmax))
 	      ncount++;		/* not in top or bottom */
 	    if(E->mesh.topvbc != 1) {	/* free slip */
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,VBX,0,lv,CPPR);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,VBX,0,lv);
 	      if(ontop || onbottom)
-		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,VBY,0,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,SBX,1,lv,CPPR);
+		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,VBY,0,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,SBX,1,lv);
 	      if(ontop || onbottom)
-		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,SBY,1,lv,CPPR);
+		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,SBY,1,lv);
 	    }else{		/* no slip */
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,VBX,1,lv,CPPR);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,VBX,1,lv);
 	      if(ontop || onbottom)
-		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,VBY,1,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,                 SBX,0,lv,CPPR);
+		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,VBY,1,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,                 SBX,0,lv);
 	      if(ontop || onbottom)
-		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv,CPPR);
-	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,                 SBY,0,lv,CPPR);
+		internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv);
+	      internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,                 SBY,0,lv);
 	    }
 	  }
 	}
@@ -262,23 +259,23 @@ void assign_internal_bc(struct All_variables *E)
 	if((!ontop)&&(!onbottom)&&(lv==E->mesh.gridmax))
 	  ncount++;		/* not in top or bottom */
 	if(E->mesh.topvbc != 1) {	/* free slip */
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,VBX,0,lv,CPPR);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,VBX,0,lv);
 	  if(ontop || onbottom)
-	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,VBY,0,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,SBX,1,lv,CPPR);
+	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,VBY,0,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,SBX,1,lv);
 	  if(ontop || onbottom)
-	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,SBY,1,lv,CPPR);
+	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,SBY,1,lv);
 	}else{		/* no slip */
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,VBX,1,lv,CPPR);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,E->control.VBXtopval,VBX,1,lv);
 	  if(ontop || onbottom)
-	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,VBY,1,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,                 SBX,0,lv,CPPR);
+	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,VBZ,1,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,E->control.VBYtopval,VBY,1,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,1,0.0,                 SBX,0,lv);
 	  if(ontop || onbottom)
-	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv,CPPR);
-	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,                 SBY,0,lv,CPPR);
+	    internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,3,0.0,SBZ,0,lv);
+	  internal_horizontal_bc(E,E->sphere.cap[CPPR].VB,k,2,0.0,                 SBY,0,lv);
 	}
     /* read in velocities/stresses from grd file? */
 #ifdef USE_GGRD
diff --git a/lib/Construct_arrays.c b/lib/Construct_arrays.c
index 005624f..e337720 100644
--- a/lib/Construct_arrays.c
+++ b/lib/Construct_arrays.c
@@ -154,7 +154,7 @@ void construct_id(E)
 
       i = 0;
       for(node=1;node<=E->lmesh.NNO[lev];node++) {
-        if (E->NODE[lev][CPPR][node] & SKIP)
+        if (E->NODE[lev][node] & SKIP)
         for(doff=1;doff<=dims;doff++)  {
 	  i++;
           E->parallel.Skip_id[lev][CPPR][i] = E->ID[lev][CPPR][node].doff[doff];
@@ -196,15 +196,15 @@ void get_bcs_id_for_residual(E,level)
 
    j = 0;
    for(i=1;i<=nno;i++) {
-      if ( (E->NODE[level][CPPR][i] & VBX) != 0 )  {
+      if ( (E->NODE[level][i] & VBX) != 0 )  {
 	j++;
         E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[1];
 	}
-      if ( (E->NODE[level][CPPR][i] & VBY) != 0 )  {
+      if ( (E->NODE[level][i] & VBY) != 0 )  {
 	j++;
         E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[2];
 	}
-      if ( (E->NODE[level][CPPR][i] & VBZ) != 0 )  {
+      if ( (E->NODE[level][i] & VBZ) != 0 )  {
 	j++;
         E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[3];
 	}
@@ -360,9 +360,9 @@ void construct_node_ks(E)
 
 	       loc0=(node-1)*max_eqn;
 
-	       if(E->NODE[level][CPPR][node] & VBX) w1=0.0;
-	       if(E->NODE[level][CPPR][node] & VBZ) w3=0.0;
-	       if(E->NODE[level][CPPR][node] & VBY) w2=0.0;
+	       if(E->NODE[level][node] & VBX) w1=0.0;
+	       if(E->NODE[level][node] & VBZ) w3=0.0;
+	       if(E->NODE[level][node] & VBY) w2=0.0;
 
 	       for(j=1;j<=ends;j++) { /* j is the node we are receiving from */
 	         node1=E->IEN[level][CPPR][element].node[j];
@@ -376,9 +376,9 @@ void construct_node_ks(E)
 		    eqn2=E->ID[level][CPPR][node1].doff[2];
 		    eqn3=E->ID[level][CPPR][node1].doff[3];
 
-		    if(E->NODE[level][CPPR][node1] & VBX) ww1=0.0;
-		    if(E->NODE[level][CPPR][node1] & VBZ) ww3=0.0;
-		    if(E->NODE[level][CPPR][node1] & VBY) ww2=0.0;
+		    if(E->NODE[level][node1] & VBX) ww1=0.0;
+		    if(E->NODE[level][node1] & VBZ) ww3=0.0;
+		    if(E->NODE[level][node1] & VBY) ww2=0.0;
 
 		    /* search for direction 1*/
 
@@ -491,7 +491,7 @@ void rebuild_BI_on_boundary(E)
             E->temp[i] = E->temp[i] - 1.0/E->BI[level][i];
         }
         for(i=1;i<=E->lmesh.NNO[level];i++)
-          if (E->NODE[level][CPPR][i] & OFFSIDE)   {
+          if (E->NODE[level][i] & OFFSIDE)   {
             eqn1=E->ID[level][CPPR][i].doff[1];
             eqn2=E->ID[level][CPPR][i].doff[2];
             eqn3=E->ID[level][CPPR][i].doff[3];
@@ -526,12 +526,12 @@ void construct_masks(E)		/* Add lid/edge masks/nodal weightings */
         if (E->parallel.me_loc[3]==0 )
           for (i=1;i<=E->parallel.NUM_NNO[lev][CPPR].bound[5];i++)   {
             node = E->parallel.NODE[lev][CPPR][i].bound[5];
- 	    E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | TZEDGE;
+ 	    E->NODE[lev][node] = E->NODE[lev][node] | TZEDGE;
 	    }
         if ( E->parallel.me_loc[3]==E->parallel.nprocz-1 )
           for (i=1;i<=E->parallel.NUM_NNO[lev][CPPR].bound[6];i++)   {
   	    node = E->parallel.NODE[lev][CPPR][i].bound[6];
-	    E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | TZEDGE;
+	    E->NODE[lev][node] = E->NODE[lev][node] | TZEDGE;
 	    }
 
 
diff --git a/lib/Full_boundary_conditions.c b/lib/Full_boundary_conditions.c
index d5b3a8e..a3c31d5 100644
--- a/lib/Full_boundary_conditions.c
+++ b/lib/Full_boundary_conditions.c
@@ -209,7 +209,7 @@ static void horizontal_bc(struct All_variables *E,float *BC[],int ROW,int dirn,f
       for(j=1;j<=E->lmesh.NOY[level];j++)
     	for(i=1;i<=E->lmesh.NOX[level];i++)     {
     	  node = rowl+(i-1)*E->lmesh.NOZ[level]+(j-1)*E->lmesh.NOX[level]*E->lmesh.NOZ[level];
-    	  E->NODE[level][CPPR][node] = E->NODE[level][CPPR][node] & (~ mask);
+    	  E->NODE[level][node] = E->NODE[level][node] & (~ mask);
     	  }        /* end for loop i & j */
       }
 
@@ -218,7 +218,7 @@ static void horizontal_bc(struct All_variables *E,float *BC[],int ROW,int dirn,f
       for(j=1;j<=E->lmesh.NOY[level];j++)
         for(i=1;i<=E->lmesh.NOX[level];i++)       {
     	  node = rowl+(i-1)*E->lmesh.NOZ[level]+(j-1)*E->lmesh.NOX[level]*E->lmesh.NOZ[level];
-    	  E->NODE[level][CPPR][node] = E->NODE[level][CPPR][node] | (mask);
+    	  E->NODE[level][node] = E->NODE[level][node] | (mask);
     	  if(level==E->mesh.levmax)   /* NB */
     	    BC[dirn][node] = value;
     	  }     /* end for loop i & j */
diff --git a/lib/Full_parallel_related.c b/lib/Full_parallel_related.c
index b84db3b..e9d1522 100644
--- a/lib/Full_parallel_related.c
+++ b/lib/Full_parallel_related.c
@@ -350,7 +350,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(k=1;k<=noy;k++)  {
         node = j + (k-1)*noz*nox;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] =  node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -362,7 +362,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(k=1;k<=noy;k++)      {
         node = (nox-1)*noz + j + (k-1)*noz*nox;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] =  node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -375,7 +375,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = (k-1)*nox*noz + (i-1)*noz + 1;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -386,7 +386,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)  {
         node = (k-1)*nox*noz + i*noz;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -399,7 +399,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = (i-1)*noz +j;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -410,7 +410,7 @@ void full_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = noz*nox*(noy-1) + (i-1)*noz +j;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -422,12 +422,12 @@ void full_parallel_domain_boundary_nodes(E)
          are skipped */
       for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[2];lnode++) {
           node = E->parallel.NODE[lev][CPPR][lnode].bound[2];
-          E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+          E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
       }
 
       for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[3];lnode++) {
           node = E->parallel.NODE[lev][CPPR][lnode].bound[3];
-          E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+          E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
       }
 
       /* nodes at N/S poles are skipped by all proc.
@@ -439,7 +439,7 @@ void full_parallel_domain_boundary_nodes(E)
           E->parallel.me_loc[2] == 0)
           for(j=1;j<=noz;j++) {
               node = j;
-              E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] & ~SKIP;
+              E->NODE[lev][node] = E->NODE[lev][node] & ~SKIP;
           }
 
       /* south pole is at the back right proc. of final cap */
@@ -448,7 +448,7 @@ void full_parallel_domain_boundary_nodes(E)
           E->parallel.me_loc[2] == E->parallel.nprocy-1)
           for(j=1;j<=noz;j++) {
               node = j*nox*noy;
-              E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] & ~SKIP;
+              E->NODE[lev][node] = E->NODE[lev][node] & ~SKIP;
           }
 
       /* radial direction is easy:
@@ -456,7 +456,7 @@ void full_parallel_domain_boundary_nodes(E)
       if (E->parallel.me_loc[3]!=E->parallel.nprocz-1 )
           for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[6];lnode++) {
               node = E->parallel.NODE[lev][CPPR][lnode].bound[6];
-              E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+              E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
           }
 
     }   /* end for level */
@@ -472,7 +472,7 @@ if (E->control.verbose) {
 
     lnode=0;
     for (node=1;node<=E->lmesh.NNO[lev];node++)
-      if((E->NODE[lev][CPPR][node] & SKIP)) {
+      if((E->NODE[lev][node] & SKIP)) {
         lnode++;
         fprintf(E->fp_out,"skip %d %d \n",lnode,node);
         }
diff --git a/lib/General_matrix_functions.c b/lib/General_matrix_functions.c
index 4090895..358600f 100644
--- a/lib/General_matrix_functions.c
+++ b/lib/General_matrix_functions.c
@@ -464,7 +464,7 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
       Ad[neq] = 0.0;
 
       for(i=1;i<=E->lmesh.NNO[level];i++)
-          if(E->NODE[level][CPPR][i] & OFFSIDE)   {
+          if(E->NODE[level][i] & OFFSIDE)   {
 
 	    eqn1=E->ID[level][CPPR][i].doff[1];
 	    eqn2=E->ID[level][CPPR][i].doff[2];
@@ -499,7 +499,7 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
                  Ad[eqn3] += B3[j]*UU;
                  }
 
-            if (!(E->NODE[level][CPPR][i]&OFFSIDE))   {
+            if (!(E->NODE[level][i]&OFFSIDE))   {
                E->temp[eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][eqn1];
                E->temp[eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][eqn2];
                E->temp[eqn3] = (F[eqn3] - Ad[eqn3])*E->BI[level][eqn3];
@@ -517,7 +517,7 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
   	    }
 
       for(i=1;i<=E->lmesh.NNO[level];i++)
-          if(E->NODE[level][CPPR][i] & OFFSIDE)   {
+          if(E->NODE[level][i] & OFFSIDE)   {
 	    eqn1=E->ID[level][CPPR][i].doff[1];
 	    eqn2=E->ID[level][CPPR][i].doff[2];
 	    eqn3=E->ID[level][CPPR][i].doff[3];
@@ -529,7 +529,7 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
       (E->solver.exchange_id_d)(E, Ad, level);
 
       for(i=1;i<=E->lmesh.NNO[level];i++)
-          if(E->NODE[level][CPPR][i] & OFFSIDE)   {
+          if(E->NODE[level][i] & OFFSIDE)   {
 	    eqn1=E->ID[level][CPPR][i].doff[1];
 	    eqn2=E->ID[level][CPPR][i].doff[2];
 	    eqn3=E->ID[level][CPPR][i].doff[3];
diff --git a/lib/Global_operations.c b/lib/Global_operations.c
index cebd576..a6c59e6 100644
--- a/lib/Global_operations.c
+++ b/lib/Global_operations.c
@@ -647,7 +647,7 @@ double global_tdot_d(E,A,B,lev)
   prod = 0.0;
   nno=E->lmesh.NNO[lev];
   for (i=1;i<=nno;i++)
-    if (!(E->NODE[lev][CPPR][i] & SKIP))
+    if (!(E->NODE[lev][i] & SKIP))
       temp += A[CPPR][i];
 
   MPI_Allreduce(&temp, &prod,1,MPI_DOUBLE,MPI_SUM,E->parallel.world);
@@ -669,7 +669,7 @@ float global_tdot(E,A,B,lev)
   prod = 0.0;
   nno=E->lmesh.NNO[lev];
   for (i=1;i<=nno;i++)
-    if (!(E->NODE[lev][CPPR][i] & SKIP))
+    if (!(E->NODE[lev][i] & SKIP))
       temp += A[CPPR][i]*B[CPPR][i];
 
   MPI_Allreduce(&temp, &prod,1,MPI_FLOAT,MPI_SUM,E->parallel.world);
diff --git a/lib/Instructions.c b/lib/Instructions.c
index dff2df0..69a016b 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -1075,7 +1075,7 @@ void allocate_common_vars(E)
 
     E->ID[i][CPPR]  = (struct ID *)    malloc((nno+1)*sizeof(struct ID));
     E->VI[i]  = (float *)        malloc((nno+1)*sizeof(float));
-    E->NODE[i][CPPR] = (unsigned int *)malloc((nno+1)*sizeof(unsigned int));
+    E->NODE[i] = (unsigned int *)malloc((nno+1)*sizeof(unsigned int));
 
     nxyz = max(nox*noz,nox*noy);
     nxyz = 2*max(nxyz,noz*noy);
@@ -1089,7 +1089,7 @@ void allocate_common_vars(E)
     E->parallel.EXCHANGE_ID[i][CPPR] = (struct PASS *) malloc((nxyz*E->mesh.nsd+3)*sizeof(struct PASS));
 
     for(l=1;l<=E->lmesh.NNO[i];l++)  {
-      E->NODE[i][CPPR][l] = (INTX | INTY | INTZ);  /* and any others ... */
+      E->NODE[i][l] = (INTX | INTY | INTZ);  /* and any others ... */
       E->VI[i][l] = 1.0;
       }
 
@@ -1335,11 +1335,11 @@ void check_bc_consistency(E)
 
   for(lev=E->mesh.gridmin;lev<=E->mesh.gridmax;lev++) {
       for(i=1;i<=E->lmesh.NNO[lev];i++) {
-        if ((E->NODE[lev][CPPR][i] & VBX) && (E->NODE[lev][CPPR][i]  & SBX))
+        if ((E->NODE[lev][i] & VBX) && (E->NODE[lev][i]  & SBX))
           printf("Inconsistent x velocity bc at %d,%d\n",lev,i);
-        if ((E->NODE[lev][CPPR][i] & VBZ) && (E->NODE[lev][CPPR][i]  & SBZ))
+        if ((E->NODE[lev][i] & VBZ) && (E->NODE[lev][i]  & SBZ))
           printf("Inconsistent z velocity bc at %d,%d\n",lev,i);
-        if ((E->NODE[lev][CPPR][i] & VBY) && (E->NODE[lev][CPPR][i]  & SBY))
+        if ((E->NODE[lev][i] & VBY) && (E->NODE[lev][i]  & SBY))
           printf("Inconsistent y velocity bc at %d,%d\n",lev,i);
         /* Tbc's not applicable below top level */
         }
@@ -1356,7 +1356,7 @@ void set_up_nonmg_aliases(struct All_variables *E)
   E->id = E->ID[E->mesh.levmax][CPPR];
   E->Vi = E->VI[E->mesh.levmax];
   E->EVi = E->EVI[E->mesh.levmax];
-  E->node = E->NODE[E->mesh.levmax][CPPR];
+  E->node = E->NODE[E->mesh.levmax];
   E->cc = E->CC[E->mesh.levmax][CPPR];
   E->ccx = E->CCX[E->mesh.levmax][CPPR];
   E->Mass = E->MASS[E->mesh.levmax];
diff --git a/lib/Regional_boundary_conditions.c b/lib/Regional_boundary_conditions.c
index 802a9b7..0ee1a5a 100644
--- a/lib/Regional_boundary_conditions.c
+++ b/lib/Regional_boundary_conditions.c
@@ -270,23 +270,23 @@ static void velocity_refl_vert_bc(E)
           node2 = node1 + (nox-1)*noz;
           ii = i + E->lmesh.NZS[level] - 1;
           if (E->parallel.me_loc[1]==0 )  {
-            E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | VBX;
-            E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~SBX);
+            E->NODE[level][node1] = E->NODE[level][node1] | VBX;
+            E->NODE[level][node1] = E->NODE[level][node1] & (~SBX);
             if((ii!=1) && (ii!=E->mesh.NOZ[level])) {
-               E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~VBY);
-               E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | SBY;
-               E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~VBZ);
-               E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | SBZ;
+               E->NODE[level][node1] = E->NODE[level][node1] & (~VBY);
+               E->NODE[level][node1] = E->NODE[level][node1] | SBY;
+               E->NODE[level][node1] = E->NODE[level][node1] & (~VBZ);
+               E->NODE[level][node1] = E->NODE[level][node1] | SBZ;
                }
             }
           if (E->parallel.me_loc[1]==E->parallel.nprocx-1)  {
-            E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | VBX;
-            E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~SBX);
+            E->NODE[level][node2] = E->NODE[level][node2] | VBX;
+            E->NODE[level][node2] = E->NODE[level][node2] & (~SBX);
             if((ii!=1) && (ii!=E->mesh.NOZ[level])) {
-              E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~VBY);
-              E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | SBY;
-              E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~VBZ);
-              E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | SBZ;
+              E->NODE[level][node2] = E->NODE[level][node2] & (~VBY);
+              E->NODE[level][node2] = E->NODE[level][node2] | SBY;
+              E->NODE[level][node2] = E->NODE[level][node2] & (~VBZ);
+              E->NODE[level][node2] = E->NODE[level][node2] | SBZ;
                   }
             }
           }   /* end for loop i & j */
@@ -301,15 +301,15 @@ static void velocity_refl_vert_bc(E)
             ii = i + E->lmesh.NZS[level] - 1;
             jj = j + E->lmesh.NXS[level] - 1;
 
-            E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | VBY;
-            E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~SBY);
+            E->NODE[level][node1] = E->NODE[level][node1] | VBY;
+            E->NODE[level][node1] = E->NODE[level][node1] & (~SBY);
             if((ii!= 1) && (ii != E->mesh.NOZ[level]))  {
-                E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~VBZ);
-                E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | SBZ;
+                E->NODE[level][node1] = E->NODE[level][node1] & (~VBZ);
+                E->NODE[level][node1] = E->NODE[level][node1] | SBZ;
                 }
             if((jj!=1) && (jj!=E->mesh.NOX[level]) && (ii!=1) && (ii!=E->mesh.NOZ[level])){
-                E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] & (~VBX);
-                E->NODE[level][CPPR][node1] = E->NODE[level][CPPR][node1] | SBX;
+                E->NODE[level][node1] = E->NODE[level][node1] & (~VBX);
+                E->NODE[level][node1] = E->NODE[level][node1] | SBX;
                 }
                 }    /* end for loop i & j  */
 
@@ -319,15 +319,15 @@ static void velocity_refl_vert_bc(E)
             node2 = (noy-1)*noz*nox + i + (j-1)*noz;
             ii = i + E->lmesh.NZS[level] - 1;
             jj = j + E->lmesh.NXS[level] - 1;
-            E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | VBY;
-            E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~SBY);
+            E->NODE[level][node2] = E->NODE[level][node2] | VBY;
+            E->NODE[level][node2] = E->NODE[level][node2] & (~SBY);
             if((ii!= 1) && (ii != E->mesh.NOZ[level]))  {
-                E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~VBZ);
-                E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | SBZ;
+                E->NODE[level][node2] = E->NODE[level][node2] & (~VBZ);
+                E->NODE[level][node2] = E->NODE[level][node2] | SBZ;
                 }
             if((jj!=1) && (jj!=E->mesh.NOX[level]) && (ii!=1) && (ii!=E->mesh.NOZ[level])){
-                E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] & (~VBX);
-                E->NODE[level][CPPR][node2] = E->NODE[level][CPPR][node2] | SBX;
+                E->NODE[level][node2] = E->NODE[level][node2] & (~VBX);
+                E->NODE[level][node2] = E->NODE[level][node2] | SBX;
                 }
             }
 
@@ -407,7 +407,7 @@ static void horizontal_bc( struct All_variables *E,float *BC[], int ROW,int dirn
       for(j=1;j<=E->lmesh.NOY[level];j++)
     	for(i=1;i<=E->lmesh.NOX[level];i++)     {
     	  node = rowl+(i-1)*E->lmesh.NOZ[level]+(j-1)*E->lmesh.NOX[level]*E->lmesh.NOZ[level];
-    	  E->NODE[level][CPPR][node] = E->NODE[level][CPPR][node] & (~ mask);
+    	  E->NODE[level][node] = E->NODE[level][node] & (~ mask);
     	  }        /* end for loop i & j */
       }
 
@@ -416,7 +416,7 @@ static void horizontal_bc( struct All_variables *E,float *BC[], int ROW,int dirn
       for(j=1;j<=E->lmesh.NOY[level];j++)
         for(i=1;i<=E->lmesh.NOX[level];i++)       {
     	  node = rowl+(i-1)*E->lmesh.NOZ[level]+(j-1)*E->lmesh.NOX[level]*E->lmesh.NOZ[level];
-    	  E->NODE[level][CPPR][node] = E->NODE[level][CPPR][node] | (mask);
+    	  E->NODE[level][node] = E->NODE[level][node] | (mask);
 
     	  if(level==E->mesh.levmax)   /* NB */
     	    BC[dirn][node] = value;
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index 3dec0f0..66eb4d3 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -315,7 +315,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(k=1;k<=noy;k++)  {
         node = j + (k-1)*noz*nox;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] =  node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -327,7 +327,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(k=1;k<=noy;k++)      {
         node = (nox-1)*noz + j + (k-1)*noz*nox;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] =  node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -340,7 +340,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = (k-1)*nox*noz + (i-1)*noz + 1;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -351,7 +351,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)  {
         node = (k-1)*nox*noz + i*noz;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -364,7 +364,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = (i-1)*noz +j;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -375,7 +375,7 @@ void regional_parallel_domain_boundary_nodes(E)
       for(i=1;i<=nox;i++)   {
         node = noz*nox*(noy-1) + (i-1)*noz +j;
         E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
+        E->NODE[lev][node] = E->NODE[lev][node] | OFFSIDE;
         }
 
       E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
@@ -385,19 +385,19 @@ void regional_parallel_domain_boundary_nodes(E)
     if (E->parallel.me_loc[1]!=E->parallel.nprocx-1)
       for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[2];lnode++) {
         node = E->parallel.NODE[lev][CPPR][lnode].bound[2];
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+        E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
         }
 
     if (E->parallel.me_loc[2]!=E->parallel.nprocy-1)
       for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[4];lnode++) {
         node = E->parallel.NODE[lev][CPPR][lnode].bound[4];
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+        E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
         }
 
     if (E->parallel.me_loc[3]!=E->parallel.nprocz-1)
       for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[6];lnode++) {
         node = E->parallel.NODE[lev][CPPR][lnode].bound[6];
-        E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
+        E->NODE[lev][node] = E->NODE[lev][node] | SKIP;
         }
 
     }   /* end for level */
@@ -413,7 +413,7 @@ if (E->control.verbose) {
 
     lnode=0;
     for (node=1;node<=E->lmesh.NNO[lev];node++)
-      if((E->NODE[lev][CPPR][node] & SKIP)) {
+      if((E->NODE[lev][node] & SKIP)) {
         lnode++;
         fprintf(E->fp_out,"skip %d %d \n",lnode,node);
         }
diff --git a/lib/global_defs.h b/lib/global_defs.h
index 7b6b519..2ac4b80 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -863,7 +863,7 @@ struct All_variables {
     int *surf_element,*surf_node;
     int *mat;
     float *VIP;
-    unsigned int *NODE[MAX_LEVELS][NCS];
+    unsigned int *NODE[MAX_LEVELS];
     unsigned int *node;
 
     float *age_t;
diff --git a/lib/prototypes.h b/lib/prototypes.h
index 2e4bce5..39cff61 100644
--- a/lib/prototypes.h
+++ b/lib/prototypes.h
@@ -44,7 +44,7 @@ void drex_eigen(double [3][3], double [3][3], int *);
 void malmul_scaled_id(double [3][3], double [3][3], double, double);
 void myerror_s(char *, struct All_variables *);
 /* BC_util.c */
-void internal_horizontal_bc(struct All_variables *, float *[], int, int, float, unsigned int, char, int, int);
+void internal_horizontal_bc(struct All_variables *, float *[], int, int, float, unsigned int, char, int);
 void strip_bcs_from_residual(struct All_variables *, double *, int);
 void temperatures_conform_bcs(struct All_variables *);
 void temperatures_conform_bcs2(struct All_variables *);



More information about the CIG-COMMITS mailing list