[cig-commits] [commit] rajesh-petsc-schur: replaced all occurences of the caps_per_proc iteration variable by CPPR in Solver_multigrid.c (f11c01c)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 19:06:13 PST 2014
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd
>---------------------------------------------------------------
commit f11c01c5de23b8acb5780f73a7d88db93851055c
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Tue Sep 16 11:03:50 2014 -0700
replaced all occurences of the caps_per_proc iteration variable by CPPR in Solver_multigrid.c
>---------------------------------------------------------------
f11c01c5de23b8acb5780f73a7d88db93851055c
lib/Solver_multigrid.c | 238 ++++++++++++++++++++++++-------------------------
1 file changed, 119 insertions(+), 119 deletions(-)
diff --git a/lib/Solver_multigrid.c b/lib/Solver_multigrid.c
index d1bcb8a..97ab388 100644
--- a/lib/Solver_multigrid.c
+++ b/lib/Solver_multigrid.c
@@ -83,9 +83,9 @@ void inject_scalar(E,start_lev,AU,AD)
for (m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=E->lmesh.NEL[sl_minus];el++)
for(i=1;i<=ends;i++) {
- node_coarse = E->IEN[sl_minus][m][el].node[i];
- node_fine=E->IEN[start_lev][m][E->EL[sl_minus][m][el].sub[i]].node[i];
- AD[m][node_coarse] = AU[m][node_fine];
+ node_coarse = E->IEN[sl_minus][CPPR][el].node[i];
+ node_fine=E->IEN[start_lev][CPPR][E->EL[sl_minus][CPPR][el].sub[i]].node[i];
+ AD[CPPR][node_coarse] = AU[CPPR][node_fine];
}
return;
@@ -114,12 +114,12 @@ void inject_vector(E,start_lev,AU,AD)
for (m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=E->lmesh.NEL[sl_minus];el++)
for(i=1;i<=ends;i++) {
- node_coarse = E->IEN[sl_minus][m][el].node[i];
- node_fine=E->IEN[start_lev][m][E->EL[sl_minus][m][el].sub[i]].node[i];
+ node_coarse = E->IEN[sl_minus][CPPR][el].node[i];
+ node_fine=E->IEN[start_lev][CPPR][E->EL[sl_minus][CPPR][el].sub[i]].node[i];
for (j=1;j<=dims;j++) {
- eqn_fine = E->ID[start_lev][m][node_fine].doff[j];
- eqn_coarse = E->ID[sl_minus][m][node_coarse].doff[j];
- AD[m][eqn_coarse] = AU[m][eqn_fine];
+ eqn_fine = E->ID[start_lev][CPPR][node_fine].doff[j];
+ eqn_coarse = E->ID[sl_minus][CPPR][node_coarse].doff[j];
+ AD[CPPR][eqn_coarse] = AU[CPPR][eqn_fine];
}
}
@@ -154,23 +154,23 @@ void un_inject_vector(E,start_lev,AD,AU)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<neq;i++)
- AU[m][i]=0.0;
+ AU[CPPR][i]=0.0;
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=nels;el++)
for(i=1;i<=ENODES3D;i++) {
- node = E->IEN[start_lev][m][el].node[i];
- node_plus=E->IEN[sl_plus][m][E->EL[start_lev][m][el].sub[i]].node[i];
-
- eqn1 = E->ID[start_lev][m][node].doff[1];
- eqn2 = E->ID[start_lev][m][node].doff[2];
- eqn3 = E->ID[start_lev][m][node].doff[3];
- eqn_plus1 = E->ID[sl_plus][m][node_plus].doff[1];
- eqn_plus2 = E->ID[sl_plus][m][node_plus].doff[2];
- eqn_plus3 = E->ID[sl_plus][m][node_plus].doff[3];
- AU[m][eqn_plus1] = AD[m][eqn1];
- AU[m][eqn_plus2] = AD[m][eqn2];
- AU[m][eqn_plus3] = AD[m][eqn3];
+ node = E->IEN[start_lev][CPPR][el].node[i];
+ node_plus=E->IEN[sl_plus][CPPR][E->EL[start_lev][CPPR][el].sub[i]].node[i];
+
+ eqn1 = E->ID[start_lev][CPPR][node].doff[1];
+ eqn2 = E->ID[start_lev][CPPR][node].doff[2];
+ eqn3 = E->ID[start_lev][CPPR][node].doff[3];
+ eqn_plus1 = E->ID[sl_plus][CPPR][node_plus].doff[1];
+ eqn_plus2 = E->ID[sl_plus][CPPR][node_plus].doff[2];
+ eqn_plus3 = E->ID[sl_plus][CPPR][node_plus].doff[3];
+ AU[CPPR][eqn_plus1] = AD[CPPR][eqn1];
+ AU[CPPR][eqn_plus2] = AD[CPPR][eqn2];
+ AU[CPPR][eqn_plus3] = AD[CPPR][eqn3];
}
return;
@@ -251,8 +251,8 @@ void project_viscosity(E)
lv = E->mesh.levmax;
for(m=1;m<=E->sphere.caps_per_proc;m++) {
- viscU[m]=(float *)malloc((1+E->lmesh.NNO[lv])*sizeof(float));
- viscD[m]=(float *)malloc((1+vpts*E->lmesh.NEL[lv-1])*sizeof(float));
+ viscU[CPPR]=(float *)malloc((1+E->lmesh.NNO[lv])*sizeof(float));
+ viscD[CPPR]=(float *)malloc((1+vpts*E->lmesh.NEL[lv-1])*sizeof(float));
}
#ifdef CITCOM_ALLOW_ANISOTROPIC_VISC /* allow for anisotropy */
@@ -342,8 +342,8 @@ void project_viscosity(E)
}
#endif
for(m=1;m<=E->sphere.caps_per_proc;m++) {
- free((void *)viscU[m]);
- free((void *)viscD[m]);
+ free((void *)viscU[CPPR]);
+ free((void *)viscD[CPPR]);
}
return;
@@ -371,13 +371,13 @@ void inject_scalar_e(E,start_lev,AU,AD)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<=n_minus;i++)
- AD[m][i] = 0.0;
+ AD[CPPR][i] = 0.0;
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=nels_minus;el++)
for(i=1;i<=ENODES3D;i++) {
- e = E->EL[sl_minus][m][el].sub[i];
- AD[m][(el-1)*vpts+i] = AU[m][e];
+ e = E->EL[sl_minus][CPPR][el].sub[i];
+ AD[CPPR][(el-1)*vpts+i] = AU[CPPR][e];
}
return;
@@ -406,18 +406,18 @@ void project_scalar_e(E,start_lev,AU,AD)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<=n_minus;i++)
- AD[m][i] = 0.0;
+ AD[CPPR][i] = 0.0;
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=nels_minus;el++) {
average=0.0;
for(i=1;i<=ENODES3D;i++) {
- e = E->EL[sl_minus][m][el].sub[i];
- average += AU[m][e];
+ e = E->EL[sl_minus][CPPR][el].sub[i];
+ average += AU[CPPR][e];
}
- AD[m][el] = average*weight;
+ AD[CPPR][el] = average*weight;
}
return;
}
@@ -444,30 +444,30 @@ void project_scalar(E,start_lev,AU,AD)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<=nno_minus;i++)
- AD[m][i] = 0.0;
+ AD[CPPR][i] = 0.0;
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=nels_minus;el++)
for(i=1;i<=ENODES3D;i++) {
average=0.0;
- node1 = E->EL[sl_minus][m][el].sub[i];
+ node1 = E->EL[sl_minus][CPPR][el].sub[i];
for(j=1;j<=ENODES3D;j++) {
- node=E->IEN[start_lev][m][node1].node[j];
- average += AU[m][node];
+ node=E->IEN[start_lev][CPPR][node1].node[j];
+ average += AU[CPPR][node];
}
w=weight*average;
- node= E->IEN[sl_minus][m][el].node[i];
+ node= E->IEN[sl_minus][CPPR][el].node[i];
- AD[m][node] += w * E->TWW[sl_minus][m][el].node[i];
+ AD[CPPR][node] += w * E->TWW[sl_minus][CPPR][el].node[i];
}
(E->exchange_node_f)(E,AD,sl_minus);
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<=nno_minus;i++) {
- AD[m][i] *= E->MASS[sl_minus][m][i];
+ AD[CPPR][i] *= E->MASS[sl_minus][CPPR][i];
}
@@ -514,26 +514,26 @@ void project_vector(E,start_lev,AU,AD,ic)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=0;i<neq_minus;i++)
- E->temp1[m][i] = 0.0;
+ E->temp1[CPPR][i] = 0.0;
/* smooth in xyz coordinates */
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(el=1;el<=nels_minus;el++)
for(i=1;i<=ENODES3D;i++) {
- node= E->IEN[sl_minus][m][el].node[i];
+ node= E->IEN[sl_minus][CPPR][el].node[i];
average1=average2=average3=0.0;
- e1 = E->EL[sl_minus][m][el].sub[i];
+ e1 = E->EL[sl_minus][CPPR][el].sub[i];
for(j=1;j<=ENODES3D;j++) {
- node1=E->IEN[start_lev][m][e1].node[j];
- average1 += E->temp[m][E->ID[start_lev][m][node1].doff[1]];
- average2 += E->temp[m][E->ID[start_lev][m][node1].doff[2]];
- average3 += E->temp[m][E->ID[start_lev][m][node1].doff[3]];
+ 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]];
}
- w = weight*E->TWW[sl_minus][m][el].node[i];
+ w = weight*E->TWW[sl_minus][CPPR][el].node[i];
- E->temp1[m][E->ID[sl_minus][m][node].doff[1]] += w * average1;
- E->temp1[m][E->ID[sl_minus][m][node].doff[2]] += w * average2;
- E->temp1[m][E->ID[sl_minus][m][node].doff[3]] += w * average3;
+ 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;
}
@@ -541,9 +541,9 @@ void project_vector(E,start_lev,AU,AD,ic)
for(m=1;m<=E->sphere.caps_per_proc;m++)
for(i=1;i<=nno_minus;i++) {
- E->temp1[m][E->ID[sl_minus][m][i].doff[1]] *= E->MASS[sl_minus][m][i];
- E->temp1[m][E->ID[sl_minus][m][i].doff[2]] *= E->MASS[sl_minus][m][i];
- E->temp1[m][E->ID[sl_minus][m][i].doff[3]] *= E->MASS[sl_minus][m][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];
}
/* back into rtf coordinates */
@@ -564,21 +564,21 @@ void project_vector(E,start_lev,AU,AD,ic)
for (m=1;m<=E->sphere.caps_per_proc;m++)
for (i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1 = E->ID[level][m][i].doff[1];
- eqn2 = E->ID[level][m][i].doff[2];
- eqn3 = E->ID[level][m][i].doff[3];
- sint = E->SinCos[level][m][0][i];
- sinf = E->SinCos[level][m][1][i];
- cost = E->SinCos[level][m][2][i];
- cosf = E->SinCos[level][m][3][i];
- rtf[m][eqn1] = xyz[m][eqn1]*cost*cosf
- + xyz[m][eqn2]*cost*sinf
- - xyz[m][eqn3]*sint;
- rtf[m][eqn2] = -xyz[m][eqn1]*sinf
- + xyz[m][eqn2]*cosf;
- rtf[m][eqn3] = xyz[m][eqn1]*sint*cosf
- + xyz[m][eqn2]*sint*sinf
- + xyz[m][eqn3]*cost;
+ 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];
+ rtf[CPPR][eqn1] = xyz[CPPR][eqn1]*cost*cosf
+ + xyz[CPPR][eqn2]*cost*sinf
+ - xyz[CPPR][eqn3]*sint;
+ rtf[CPPR][eqn2] = -xyz[CPPR][eqn1]*sinf
+ + xyz[CPPR][eqn2]*cosf;
+ rtf[CPPR][eqn3] = xyz[CPPR][eqn1]*sint*cosf
+ + xyz[CPPR][eqn2]*sint*sinf
+ + xyz[CPPR][eqn3]*cost;
}
return;
@@ -596,21 +596,21 @@ void project_vector(E,start_lev,AU,AD,ic)
for (m=1;m<=E->sphere.caps_per_proc;m++)
for (i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1 = E->ID[level][m][i].doff[1];
- eqn2 = E->ID[level][m][i].doff[2];
- eqn3 = E->ID[level][m][i].doff[3];
- sint = E->SinCos[level][m][0][i];
- sinf = E->SinCos[level][m][1][i];
- cost = E->SinCos[level][m][2][i];
- cosf = E->SinCos[level][m][3][i];
- xyz[m][eqn1] = rtf[m][eqn1]*cost*cosf
- - rtf[m][eqn2]*sinf
- + rtf[m][eqn3]*sint*cosf;
- xyz[m][eqn2] = rtf[m][eqn1]*cost*sinf
- + rtf[m][eqn2]*cosf
- + rtf[m][eqn3]*sint*sinf;
- xyz[m][eqn3] = -rtf[m][eqn1]*sint
- + rtf[m][eqn3]*cost;
+ 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];
+ xyz[CPPR][eqn1] = rtf[CPPR][eqn1]*cost*cosf
+ - rtf[CPPR][eqn2]*sinf
+ + rtf[CPPR][eqn3]*sint*cosf;
+ xyz[CPPR][eqn2] = rtf[CPPR][eqn1]*cost*sinf
+ + rtf[CPPR][eqn2]*cosf
+ + rtf[CPPR][eqn3]*sint*sinf;
+ xyz[CPPR][eqn3] = -rtf[CPPR][eqn1]*sint
+ + rtf[CPPR][eqn3]*cost;
}
@@ -650,20 +650,20 @@ void project_vector(E,start_lev,AU,AD,ic)
/* now for each direction */
- eqn0=E->ID[level][m][node0].doff[1];
- eqn1=E->ID[level][m][node1].doff[1];
- eqn2=E->ID[level][m][node2].doff[1];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[1];
+ eqn1=E->ID[level][CPPR][node1].doff[1];
+ eqn2=E->ID[level][CPPR][node2].doff[1];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[2];
- eqn1=E->ID[level][m][node1].doff[2];
- eqn2=E->ID[level][m][node2].doff[2];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[2];
+ eqn1=E->ID[level][CPPR][node1].doff[2];
+ eqn2=E->ID[level][CPPR][node2].doff[2];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[3];
- eqn1=E->ID[level][m][node1].doff[3];
- eqn2=E->ID[level][m][node2].doff[3];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[3];
+ eqn1=E->ID[level][CPPR][node1].doff[3];
+ eqn2=E->ID[level][CPPR][node2].doff[3];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
}
n1 = n2 =0.5;
@@ -674,20 +674,20 @@ void project_vector(E,start_lev,AU,AD,ic)
node1 = node0 - noxz;
node2 = node0 + noxz;
- eqn0=E->ID[level][m][node0].doff[1];
- eqn1=E->ID[level][m][node1].doff[1];
- eqn2=E->ID[level][m][node2].doff[1];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[1];
+ eqn1=E->ID[level][CPPR][node1].doff[1];
+ eqn2=E->ID[level][CPPR][node2].doff[1];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[2];
- eqn1=E->ID[level][m][node1].doff[2];
- eqn2=E->ID[level][m][node2].doff[2];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[2];
+ eqn1=E->ID[level][CPPR][node1].doff[2];
+ eqn2=E->ID[level][CPPR][node2].doff[2];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[3];
- eqn1=E->ID[level][m][node1].doff[3];
- eqn2=E->ID[level][m][node2].doff[3];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[3];
+ eqn1=E->ID[level][CPPR][node1].doff[3];
+ eqn2=E->ID[level][CPPR][node2].doff[3];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
}
@@ -702,20 +702,20 @@ void project_vector(E,start_lev,AU,AD,ic)
node1 = node0 - 1;
node2 = node0 + 1;
- eqn0=E->ID[level][m][node0].doff[1];
- eqn1=E->ID[level][m][node1].doff[1];
- eqn2=E->ID[level][m][node2].doff[1];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[1];
+ eqn1=E->ID[level][CPPR][node1].doff[1];
+ eqn2=E->ID[level][CPPR][node2].doff[1];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[2];
- eqn1=E->ID[level][m][node1].doff[2];
- eqn2=E->ID[level][m][node2].doff[2];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[2];
+ eqn1=E->ID[level][CPPR][node1].doff[2];
+ eqn2=E->ID[level][CPPR][node2].doff[2];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
- eqn0=E->ID[level][m][node0].doff[3];
- eqn1=E->ID[level][m][node1].doff[3];
- eqn2=E->ID[level][m][node2].doff[3];
- temp[m][eqn0] = n1*temp[m][eqn1]+n2*temp[m][eqn2];
+ eqn0=E->ID[level][CPPR][node0].doff[3];
+ eqn1=E->ID[level][CPPR][node1].doff[3];
+ eqn2=E->ID[level][CPPR][node2].doff[3];
+ temp[CPPR][eqn0] = n1*temp[CPPR][eqn1]+n2*temp[CPPR][eqn2];
}
}
} /* end for m */
More information about the CIG-COMMITS
mailing list