[cig-commits] [commit] rajesh-petsc-schur: Changed the shapes of temp and temp1 members of the All_variables struct as part of caps_per_proc removal (85f4014)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:10:49 PST 2014


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

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

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

commit 85f4014b36c82f74ac08cefc8395bfe96703f98f
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Fri Sep 19 10:17:48 2014 -0700

    Changed the shapes of temp and temp1 members of the All_variables struct as part of caps_per_proc removal


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

85f4014b36c82f74ac08cefc8395bfe96703f98f
 lib/Construct_arrays.c         | 18 ++++++++---------
 lib/General_matrix_functions.c | 46 +++++++++++++++++++++---------------------
 lib/Instructions.c             |  6 +++---
 lib/Solver_multigrid.c         | 20 +++++++++---------
 lib/global_defs.h              |  2 +-
 5 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/lib/Construct_arrays.c b/lib/Construct_arrays.c
index 891b48e..9c591d8 100644
--- a/lib/Construct_arrays.c
+++ b/lib/Construct_arrays.c
@@ -462,7 +462,7 @@ void rebuild_BI_on_boundary(E)
 
    for(level=E->mesh.gridmax;level>=E->mesh.gridmin;level--)   {
         for(j=0;j<=E->lmesh.NEQ[level];j++)
-            E->temp[CPPR][j]=0.0;
+            E->temp[j]=0.0;
 
         for(i=1;i<=E->lmesh.NNO[level];i++)  {
             eqn1=E->ID[level][CPPR][i].doff[1];
@@ -475,29 +475,29 @@ void rebuild_BI_on_boundary(E)
             B3=E->Eqn_k3[level][CPPR]+(i-1)*max_eqn;
 
             for(j=3;j<max_eqn;j++) {
-                E->temp[CPPR][eqn1] += fabs(B1[j]);
-                E->temp[CPPR][eqn2] += fabs(B2[j]);
-                E->temp[CPPR][eqn3] += fabs(B3[j]);
+                E->temp[eqn1] += fabs(B1[j]);
+                E->temp[eqn2] += fabs(B2[j]);
+                E->temp[eqn3] += fabs(B3[j]);
                 }
 
             for(j=0;j<max_eqn;j++)
-                E->temp[CPPR][C[j]] += fabs(B1[j]) + fabs(B2[j]) + fabs(B3[j]);
+                E->temp[C[j]] += fabs(B1[j]) + fabs(B2[j]) + fabs(B3[j]);
 
             }
 
      (E->solver.exchange_id_d)(E, E->temp, level);
 
         for(i=0;i<E->lmesh.NEQ[level];i++)  {
-            E->temp[CPPR][i] = E->temp[CPPR][i] - 1.0/E->BI[level][CPPR][i];
+            E->temp[i] = E->temp[i] - 1.0/E->BI[level][CPPR][i];
         }
         for(i=1;i<=E->lmesh.NNO[level];i++)
           if (E->NODE[level][CPPR][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];
-            E->BI[level][CPPR][eqn1] = (double) 1.0/E->temp[CPPR][eqn1];
-            E->BI[level][CPPR][eqn2] = (double) 1.0/E->temp[CPPR][eqn2];
-            E->BI[level][CPPR][eqn3] = (double) 1.0/E->temp[CPPR][eqn3];
+            E->BI[level][CPPR][eqn1] = (double) 1.0/E->temp[eqn1];
+            E->BI[level][CPPR][eqn2] = (double) 1.0/E->temp[eqn2];
+            E->BI[level][CPPR][eqn3] = (double) 1.0/E->temp[eqn3];
           }
 
 
diff --git a/lib/General_matrix_functions.c b/lib/General_matrix_functions.c
index 95c51ea..d3e39e1 100644
--- a/lib/General_matrix_functions.c
+++ b/lib/General_matrix_functions.c
@@ -459,7 +459,7 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
 
     while (count < steps) {
       for(j=0;j<=E->lmesh.NEQ[level];j++)
-          E->temp[CPPR][j] = 0.0;
+          E->temp[j] = 0.0;
 
       Ad[neq] = 0.0;
 
@@ -470,12 +470,12 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
 	    eqn2=E->ID[level][CPPR][i].doff[2];
 	    eqn3=E->ID[level][CPPR][i].doff[3];
     
-	    E->temp[CPPR][eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][CPPR][eqn1];
-	    E->temp[CPPR][eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][CPPR][eqn2];
-	    E->temp[CPPR][eqn3] = (F[eqn3] - Ad[eqn3])*E->BI[level][CPPR][eqn3];
-	    E->temp1[CPPR][eqn1] = Ad[eqn1];
-	    E->temp1[CPPR][eqn2] = Ad[eqn2];
-	    E->temp1[CPPR][eqn3] = Ad[eqn3];
+	    E->temp[eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][CPPR][eqn1];
+	    E->temp[eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][CPPR][eqn2];
+	    E->temp[eqn3] = (F[eqn3] - Ad[eqn3])*E->BI[level][CPPR][eqn3];
+	    E->temp1[eqn1] = Ad[eqn1];
+	    E->temp1[eqn2] = Ad[eqn2];
+	    E->temp1[eqn3] = Ad[eqn3];
             }
       
     for(i=1;i<=E->lmesh.NNO[level];i++)     {
@@ -493,27 +493,27 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
                   not be used for the G-S iterations for interior nodes */
 
             for(j=3;j<max_eqn;j++)  {
-                 UU = E->temp[CPPR][C[j]];
+                 UU = E->temp[C[j]];
                  Ad[eqn1] += B1[j]*UU;
                  Ad[eqn2] += B2[j]*UU;
                  Ad[eqn3] += B3[j]*UU;
                  }
 
             if (!(E->NODE[level][m][i]&OFFSIDE))   {
-               E->temp[CPPR][eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][CPPR][eqn1];
-               E->temp[CPPR][eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][CPPR][eqn2];
-               E->temp[CPPR][eqn3] = (F[eqn3] - Ad[eqn3])*E->BI[level][CPPR][eqn3];
+               E->temp[eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][CPPR][eqn1];
+               E->temp[eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][CPPR][eqn2];
+               E->temp[eqn3] = (F[eqn3] - Ad[eqn3])*E->BI[level][CPPR][eqn3];
 	       }
 
                  /* Ad on boundaries differs after the following operation */
 	    for(j=0;j<max_eqn;j++)
-		    Ad[C[j]]  += B1[j]*E->temp[CPPR][eqn1]
-                                 +  B2[j]*E->temp[CPPR][eqn2]
-                                 +  B3[j]*E->temp[CPPR][eqn3];
+		    Ad[C[j]]  += B1[j]*E->temp[eqn1]
+                                 +  B2[j]*E->temp[eqn2]
+                                 +  B3[j]*E->temp[eqn3];
 
-	    d0[eqn1] += E->temp[CPPR][eqn1];
-	    d0[eqn2] += E->temp[CPPR][eqn2];
-	    d0[eqn3] += E->temp[CPPR][eqn3];
+	    d0[eqn1] += E->temp[eqn1];
+	    d0[eqn2] += E->temp[eqn2];
+	    d0[eqn3] += E->temp[eqn3];
   	    }
 
       for(i=1;i<=E->lmesh.NNO[level];i++)
@@ -521,9 +521,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
 	    eqn1=E->ID[level][CPPR][i].doff[1];
 	    eqn2=E->ID[level][CPPR][i].doff[2];
 	    eqn3=E->ID[level][CPPR][i].doff[3];
-	    Ad[eqn1] -= E->temp1[CPPR][eqn1];
-	    Ad[eqn2] -= E->temp1[CPPR][eqn2];
-	    Ad[eqn3] -= E->temp1[CPPR][eqn3];
+	    Ad[eqn1] -= E->temp1[eqn1];
+	    Ad[eqn2] -= E->temp1[eqn2];
+	    Ad[eqn3] -= E->temp1[eqn3];
 	    }
 
       (E->solver.exchange_id_d)(E, Ad, level);
@@ -533,9 +533,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
 	    eqn1=E->ID[level][CPPR][i].doff[1];
 	    eqn2=E->ID[level][CPPR][i].doff[2];
 	    eqn3=E->ID[level][CPPR][i].doff[3];
-	    Ad[eqn1] += E->temp1[CPPR][eqn1];
-	    Ad[eqn2] += E->temp1[CPPR][eqn2];
-	    Ad[eqn3] += E->temp1[CPPR][eqn3];
+	    Ad[eqn1] += E->temp1[eqn1];
+	    Ad[eqn2] += E->temp1[eqn2];
+	    Ad[eqn3] += E->temp1[eqn3];
 	    }
 
 
diff --git a/lib/Instructions.c b/lib/Instructions.c
index 2f836c5..c279bb0 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -1171,8 +1171,8 @@ void allocate_velocity_vars(E)
     E->lmesh.nnov = E->lmesh.nno;
     E->lmesh.neq = E->lmesh.nnov * E->mesh.nsd;
 
-    E->temp[CPPR] = (double *) malloc((E->lmesh.neq+1)*sizeof(double));
-    E->temp1[CPPR] = (double *) malloc(E->lmesh.neq*sizeof(double));
+    E->temp = (double *) malloc((E->lmesh.neq+1)*sizeof(double));
+    E->temp1 = (double *) malloc(E->lmesh.neq*sizeof(double));
     E->F = (double *) malloc(E->lmesh.neq*sizeof(double));
     E->U = (double *) malloc(E->lmesh.neq*sizeof(double));
     E->u1 = (double *) malloc(E->lmesh.neq*sizeof(double));
@@ -1185,7 +1185,7 @@ void allocate_velocity_vars(E)
     }
 
     for(i=0;i<E->lmesh.neq;i++)
-      E->U[i] = E->temp[CPPR][i] = E->temp1[CPPR][i] = 0.0;
+      E->U[i] = E->temp[i] = E->temp1[i] = 0.0;
 
 
     for(k=1;k<=E->mesh.nsd;k++)
diff --git a/lib/Solver_multigrid.c b/lib/Solver_multigrid.c
index 8fdce41..e97269a 100644
--- a/lib/Solver_multigrid.c
+++ b/lib/Solver_multigrid.c
@@ -469,7 +469,7 @@ void project_vector(E,start_lev,AU,AD,ic)
       from_rtf_to_xyz(E,start_lev,AU,E->temp);
 
       for(i=0;i<neq_minus;i++)
-        E->temp1[CPPR][i] = 0.0;
+        E->temp1[i] = 0.0;
 
                 /* smooth in xyz coordinates */
         for(el=1;el<=nels_minus;el++)
@@ -479,24 +479,24 @@ void project_vector(E,start_lev,AU,AD,ic)
 		e1 = E->EL[sl_minus][CPPR][el].sub[i];
 		for(j=1;j<=ENODES3D;j++) {
 		    node1=E->IEN[start_lev][CPPR][e1].node[j];
-		    average1 += E->temp[CPPR][E->ID[start_lev][CPPR][node1].doff[1]];
-		    average2 += E->temp[CPPR][E->ID[start_lev][CPPR][node1].doff[2]];
-		    average3 += E->temp[CPPR][E->ID[start_lev][CPPR][node1].doff[3]];
+		    average1 += E->temp[E->ID[start_lev][CPPR][node1].doff[1]];
+		    average2 += E->temp[E->ID[start_lev][CPPR][node1].doff[2]];
+		    average3 += E->temp[E->ID[start_lev][CPPR][node1].doff[3]];
 		    }
 		w = weight*E->TWW[sl_minus][CPPR][el].node[i];
 
-		E->temp1[CPPR][E->ID[sl_minus][CPPR][node].doff[1]] += w * average1;
-		E->temp1[CPPR][E->ID[sl_minus][CPPR][node].doff[2]] += w * average2;
-	 	E->temp1[CPPR][E->ID[sl_minus][CPPR][node].doff[3]] += w * average3;
+		E->temp1[E->ID[sl_minus][CPPR][node].doff[1]] += w * average1;
+		E->temp1[E->ID[sl_minus][CPPR][node].doff[2]] += w * average2;
+	 	E->temp1[E->ID[sl_minus][CPPR][node].doff[3]] += w * average3;
                 }
 
 
    (E->solver.exchange_id_d)(E, E->temp1, sl_minus);
 
      for(i=1;i<=nno_minus;i++)  {
-       E->temp1[CPPR][E->ID[sl_minus][CPPR][i].doff[1]] *= E->MASS[sl_minus][CPPR][i];
-       E->temp1[CPPR][E->ID[sl_minus][CPPR][i].doff[2]] *= E->MASS[sl_minus][CPPR][i];
-       E->temp1[CPPR][E->ID[sl_minus][CPPR][i].doff[3]] *= E->MASS[sl_minus][CPPR][i];
+       E->temp1[E->ID[sl_minus][CPPR][i].doff[1]] *= E->MASS[sl_minus][CPPR][i];
+       E->temp1[E->ID[sl_minus][CPPR][i].doff[2]] *= E->MASS[sl_minus][CPPR][i];
+       E->temp1[E->ID[sl_minus][CPPR][i].doff[3]] *= E->MASS[sl_minus][CPPR][i];
        }
 
                /* back into rtf coordinates */
diff --git a/lib/global_defs.h b/lib/global_defs.h
index 6607d71..0134be8 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -832,7 +832,7 @@ struct All_variables {
     double *P,*F,*U;
     double *T[NCS],*Tdot[NCS],*buoyancy[NCS];
     double *u1;
-    double *temp[NCS],*temp1[NCS];
+    double *temp,*temp1;
     double *Mass[NCS], *MASS[MAX_LEVELS][NCS];
     double *TMass[NCS], *NMass[NCS];
     double *SX[MAX_LEVELS][NCS][4],*X[MAX_LEVELS][NCS][4];



More information about the CIG-COMMITS mailing list