[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of E->ID as part of caps_per_proc removal (5a09a26)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 19:12:20 PST 2014
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd
>---------------------------------------------------------------
commit 5a09a2600aa4f6765d2cb61b2f96259153bcfe12
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Tue Sep 23 17:50:26 2014 -0700
Changed the shape of E->ID as part of caps_per_proc removal
>---------------------------------------------------------------
5a09a2600aa4f6765d2cb61b2f96259153bcfe12
lib/Construct_arrays.c | 32 ++++++-------
lib/Element_calculations.c | 60 ++++++++++++------------
lib/Full_parallel_related.c | 6 +--
lib/General_matrix_functions.c | 24 +++++-----
lib/Global_operations.c | 8 ++--
lib/Instructions.c | 4 +-
lib/Petsc_citcoms.c | 6 +--
lib/Regional_parallel_related.c | 6 +--
lib/Solver_multigrid.c | 100 ++++++++++++++++++++--------------------
lib/global_defs.h | 2 +-
10 files changed, 124 insertions(+), 124 deletions(-)
diff --git a/lib/Construct_arrays.c b/lib/Construct_arrays.c
index 480dcbb..767ac10 100644
--- a/lib/Construct_arrays.c
+++ b/lib/Construct_arrays.c
@@ -146,7 +146,7 @@ void construct_id(E)
for(node=1;node<=E->lmesh.NNO[lev];node++)
for(doff=1;doff<=dims;doff++) {
- E->ID[lev][CPPR][node].doff[doff] = eqn_count;
+ E->ID[lev][node].doff[doff] = eqn_count;
eqn_count ++;
}
@@ -157,7 +157,7 @@ void construct_id(E)
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];
+ E->parallel.Skip_id[lev][CPPR][i] = E->ID[lev][node].doff[doff];
}
}
@@ -198,15 +198,15 @@ void get_bcs_id_for_residual(E,level)
for(i=1;i<=nno;i++) {
if ( (E->NODE[level][i] & VBX) != 0 ) {
j++;
- E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[1];
+ E->zero_resid[level][j] = E->ID[level][i].doff[1];
}
if ( (E->NODE[level][i] & VBY) != 0 ) {
j++;
- E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[2];
+ E->zero_resid[level][j] = E->ID[level][i].doff[2];
}
if ( (E->NODE[level][i] & VBZ) != 0 ) {
j++;
- E->zero_resid[level][j] = E->ID[level][CPPR][i].doff[3];
+ E->zero_resid[level][j] = E->ID[level][i].doff[3];
}
}
@@ -265,7 +265,7 @@ void construct_node_maps(E)
for (kk=1;kk<=noz;kk++) {
nn = kk + (jj-1)*noz+ (ii-1)*noxz;
for(doff=1;doff<=dims;doff++)
- E->Node_map[lev][CPPR][(nn-1)*max_eqn+doff-1] = E->ID[lev][CPPR][nn].doff[doff];
+ E->Node_map[lev][CPPR][(nn-1)*max_eqn+doff-1] = E->ID[lev][nn].doff[doff];
ia = 0;
is=1; ie=dims2;
@@ -284,7 +284,7 @@ void construct_node_maps(E)
if (ja<nn) {
ia++;
for (doff=1;doff<=dims;doff++)
- E->Node_map[lev][CPPR][(nn-1)*max_eqn+ia*dims+doff-1]=E->ID[lev][CPPR][ja].doff[doff];
+ E->Node_map[lev][CPPR][(nn-1)*max_eqn+ia*dims+doff-1]=E->ID[lev][ja].doff[doff];
}
}
}
@@ -372,9 +372,9 @@ void construct_node_ks(E)
ww1=ww2=ww3=1.0;
qq=(j-1)*dims;
- eqn1=E->ID[level][CPPR][node1].doff[1];
- eqn2=E->ID[level][CPPR][node1].doff[2];
- eqn3=E->ID[level][CPPR][node1].doff[3];
+ eqn1=E->ID[level][node1].doff[1];
+ eqn2=E->ID[level][node1].doff[2];
+ eqn3=E->ID[level][node1].doff[3];
if(E->NODE[level][node1] & VBX) ww1=0.0;
if(E->NODE[level][node1] & VBZ) ww3=0.0;
@@ -465,9 +465,9 @@ void rebuild_BI_on_boundary(E)
E->temp[j]=0.0;
for(i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1=E->ID[level][CPPR][i].doff[1];
- eqn2=E->ID[level][CPPR][i].doff[2];
- eqn3=E->ID[level][CPPR][i].doff[3];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
C=E->Node_map[level][CPPR] + (i-1)*max_eqn;
B1=E->Eqn_k1[level][CPPR]+(i-1)*max_eqn;
@@ -492,9 +492,9 @@ void rebuild_BI_on_boundary(E)
}
for(i=1;i<=E->lmesh.NNO[level];i++)
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];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
E->BI[level][eqn1] = (double) 1.0/E->temp[eqn1];
E->BI[level][eqn2] = (double) 1.0/E->temp[eqn2];
E->BI[level][eqn3] = (double) 1.0/E->temp[eqn3];
diff --git a/lib/Element_calculations.c b/lib/Element_calculations.c
index 6d86aa2..b19c9bb 100644
--- a/lib/Element_calculations.c
+++ b/lib/Element_calculations.c
@@ -454,36 +454,36 @@ void e_assemble_del2_u(E,u,Au,level,strip_bcs)
for(e=1;e<=nel;e++) {
for(a=1;a<=ends;a++) {
ii = E->IEN[level][e].node[a];
- a1 = E->ID[level][CPPR][ii].doff[1];
- a2 = E->ID[level][CPPR][ii].doff[2];
- a3 = E->ID[level][CPPR][ii].doff[3];
+ a1 = E->ID[level][ii].doff[1];
+ a2 = E->ID[level][ii].doff[2];
+ a3 = E->ID[level][ii].doff[3];
for(b=1;b<=ends;b++) {
nodeb = E->IEN[level][e].node[b];
ii = (a*n+b)*dims-(dims*n+dims);
/* i=1, j=1,2,3 */
Au[a1] +=
E->elt_k[level][CPPR][e].k[ii] *
- u[E->ID[level][CPPR][nodeb].doff[1]]
+ u[E->ID[level][nodeb].doff[1]]
+ E->elt_k[level][CPPR][e].k[ii+1] *
- u[E->ID[level][CPPR][nodeb].doff[2]]
+ u[E->ID[level][nodeb].doff[2]]
+ E->elt_k[level][CPPR][e].k[ii+2] *
- u[E->ID[level][CPPR][nodeb].doff[3]];
+ u[E->ID[level][nodeb].doff[3]];
/* i=2, j=1,2,3 */
Au[a2] +=
E->elt_k[level][CPPR][e].k[ii+n] *
- u[E->ID[level][CPPR][nodeb].doff[1]]
+ u[E->ID[level][nodeb].doff[1]]
+ E->elt_k[level][CPPR][e].k[ii+n+1] *
- u[E->ID[level][CPPR][nodeb].doff[2]]
+ u[E->ID[level][nodeb].doff[2]]
+ E->elt_k[level][CPPR][e].k[ii+n+2] *
- u[E->ID[level][CPPR][nodeb].doff[3]];
+ u[E->ID[level][nodeb].doff[3]];
/* i=3, j=1,2,3 */
Au[a3] +=
E->elt_k[level][CPPR][e].k[ii+n+n] *
- u[E->ID[level][CPPR][nodeb].doff[1]]
+ u[E->ID[level][nodeb].doff[1]]
+ E->elt_k[level][CPPR][e].k[ii+n+n+1] *
- u[E->ID[level][CPPR][nodeb].doff[2]]
+ u[E->ID[level][nodeb].doff[2]]
+ E->elt_k[level][CPPR][e].k[ii+n+n+2] *
- u[E->ID[level][CPPR][nodeb].doff[3]];
+ u[E->ID[level][nodeb].doff[3]];
} /* end for loop b */
} /* end for loop a */
@@ -527,9 +527,9 @@ void n_assemble_del2_u(E,u,Au,level,strip_bcs)
for(e=1;e<=nno;e++) {
- eqn1=E->ID[level][CPPR][e].doff[1];
- eqn2=E->ID[level][CPPR][e].doff[2];
- eqn3=E->ID[level][CPPR][e].doff[3];
+ eqn1=E->ID[level][e].doff[1];
+ eqn2=E->ID[level][e].doff[2];
+ eqn3=E->ID[level][e].doff[3];
U1 = u[eqn1];
U2 = u[eqn2];
@@ -573,17 +573,17 @@ void build_diagonal_of_K(E,el,elt_k,level)
for(a=1;a<=ends;a++) {
node=E->IEN[level][el].node[a];
/* dirn 1 */
- a1 = E->ID[level][CPPR][node].doff[1];
+ a1 = E->ID[level][node].doff[1];
p=(a-1)*dims;
E->BI[level][a1] += elt_k[p*n+p];
/* dirn 2 */
- a2 = E->ID[level][CPPR][node].doff[2];
+ a2 = E->ID[level][node].doff[2];
p=(a-1)*dims+1;
E->BI[level][a2] += elt_k[p*n+p];
/* dirn 3 */
- a1 = E->ID[level][CPPR][node].doff[3];
+ a1 = E->ID[level][node].doff[3];
p=(a-1)*dims+2;
E->BI[level][a1] += elt_k[p*n+p];
}
@@ -638,9 +638,9 @@ void assemble_c_u(struct All_variables *E,
p = (a-1)*dims;
for(e=0;e<nel;e++) {
b = E->IEN[level][e].node[a];
- j1= E->ID[level][CPPR][b].doff[1];
- j2= E->ID[level][CPPR][b].doff[2];
- j3= E->ID[level][CPPR][b].doff[3];
+ j1= E->ID[level][b].doff[1];
+ j2= E->ID[level][b].doff[2];
+ j3= E->ID[level][b].doff[3];
result[e] += E->elt_c[level][CPPR][e+1].c[p ][0] * U[j1]
+ E->elt_c[level][CPPR][e+1].c[p+1][0] * U[j2]
@@ -686,9 +686,9 @@ void assemble_div_u(struct All_variables *E,
p = (a-1)*dims;
for(e=0;e<nel;e++) {
b = E->IEN[level][e+1].node[a];
- j1= E->ID[level][CPPR][b].doff[1];
- j2= E->ID[level][CPPR][b].doff[2];
- j3= E->ID[level][CPPR][b].doff[3];
+ j1= E->ID[level][b].doff[1];
+ j2= E->ID[level][b].doff[2];
+ j3= E->ID[level][b].doff[3];
divU[e] += E->elt_del[level][CPPR][e+1].g[p ][0] * U[j1]
+ E->elt_del[level][CPPR][e+1].g[p+1][0] * U[j2]
+ E->elt_del[level][CPPR][e+1].g[p+2][0] * U[j3];
@@ -726,9 +726,9 @@ void assemble_grad_p(E,P,gradP,lev)
for(a=1;a<=ends;a++) {
p = (a-1)*dims;
b = E->IEN[lev][e+1].node[a];
- j1= E->ID[lev][CPPR][b].doff[1];
- j2= E->ID[lev][CPPR][b].doff[2];
- j3= E->ID[lev][CPPR][b].doff[3];
+ j1= E->ID[lev][b].doff[1];
+ j2= E->ID[lev][b].doff[2];
+ j3= E->ID[lev][b].doff[3];
/*for(b=0;b<ploc_mat_size[E->mesh.nsd];b++) */
gradP[j1] += E->elt_del[lev][CPPR][e+1].g[p ][0] * P[e];
gradP[j2] += E->elt_del[lev][CPPR][e+1].g[p+1][0] * P[e];
@@ -762,13 +762,13 @@ double assemble_dAhatp_entry(struct All_variables *E, int e, int level)
for(a=1;a<=ends;a++) {
p = (a-1)*dims;
node = E->IEN[level][e+1].node[a];
- j=E->ID[level][CPPR][node].doff[1];
+ j=E->ID[level][node].doff[1];
gradP[p] += E->BI[level][j]*E->elt_del[level][CPPR][e+1].g[p][0];
- j=E->ID[level][CPPR][node].doff[2];
+ j=E->ID[level][node].doff[2];
gradP[p+1] += E->BI[level][j]*E->elt_del[level][CPPR][e+1].g[p+1][0];
- j=E->ID[level][CPPR][node].doff[3];
+ j=E->ID[level][node].doff[3];
gradP[p+2] += E->BI[level][j]*E->elt_del[level][CPPR][e+1].g[p+2][0];
}
diff --git a/lib/Full_parallel_related.c b/lib/Full_parallel_related.c
index e9d1522..511c088 100644
--- a/lib/Full_parallel_related.c
+++ b/lib/Full_parallel_related.c
@@ -685,7 +685,7 @@ void full_parallel_communication_routs_v(E)
E->parallel.EXCHANGE_NODE[lev][CPPR][++kk].pass[kkkp] = node;
for(doff=1;doff<=dims;doff++)
E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkkp] =
- E->ID[lev][CPPR][node].doff[doff];
+ E->ID[lev][node].doff[doff];
}
E->parallel.NUM_NODE[lev][CPPR].pass[kkkp] = kk;
E->parallel.NUM_NEQ[lev][CPPR].pass[kkkp] = jj;
@@ -822,7 +822,7 @@ static void face_eqn_node_to_pass(E,lev,npass,bd)
node = E->parallel.NODE[lev][CPPR][kk].bound[bd];
E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[npass] = node;
for(doff=1;doff<=dims;doff++)
- E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][CPPR][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][node].doff[doff];
}
E->parallel.NUM_NEQ[lev][CPPR].pass[npass] = jj;
@@ -845,7 +845,7 @@ static void line_eqn_node_to_pass(E,lev,npass,num_node,offset,stride)
node = (kk-1)*stride + offset;
E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[npass] = node;
for(doff=1;doff<=dims;doff++)
- E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][CPPR][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][node].doff[doff];
}
E->parallel.NUM_NEQ[lev][CPPR].pass[npass] = jj;
diff --git a/lib/General_matrix_functions.c b/lib/General_matrix_functions.c
index 358600f..2ffa85d 100644
--- a/lib/General_matrix_functions.c
+++ b/lib/General_matrix_functions.c
@@ -466,9 +466,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
for(i=1;i<=E->lmesh.NNO[level];i++)
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];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
E->temp[eqn1] = (F[eqn1] - Ad[eqn1])*E->BI[level][eqn1];
E->temp[eqn2] = (F[eqn2] - Ad[eqn2])*E->BI[level][eqn2];
@@ -480,9 +480,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
for(i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1=E->ID[level][CPPR][i].doff[1];
- eqn2=E->ID[level][CPPR][i].doff[2];
- eqn3=E->ID[level][CPPR][i].doff[3];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
C=E->Node_map[level][CPPR]+(i-1)*max_eqn;
B1=E->Eqn_k1[level][CPPR]+(i-1)*max_eqn;
B2=E->Eqn_k2[level][CPPR]+(i-1)*max_eqn;
@@ -518,9 +518,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
for(i=1;i<=E->lmesh.NNO[level];i++)
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];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
Ad[eqn1] -= E->temp1[eqn1];
Ad[eqn2] -= E->temp1[eqn2];
Ad[eqn3] -= E->temp1[eqn3];
@@ -530,9 +530,9 @@ void gauss_seidel(E,d0,F,Ad,acc,cycles,level,guess)
for(i=1;i<=E->lmesh.NNO[level];i++)
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];
+ eqn1=E->ID[level][i].doff[1];
+ eqn2=E->ID[level][i].doff[2];
+ eqn3=E->ID[level][i].doff[3];
Ad[eqn1] += E->temp1[eqn1];
Ad[eqn2] += E->temp1[eqn2];
Ad[eqn3] += E->temp1[eqn3];
diff --git a/lib/Global_operations.c b/lib/Global_operations.c
index 16baac6..0cec81d 100644
--- a/lib/Global_operations.c
+++ b/lib/Global_operations.c
@@ -756,10 +756,10 @@ double vnorm_nonnewt(E,dU,U,lev)
for (i=1;i<=dims;i++)
for (a=1;a<=ends;a++) {
node = E->IEN[lev][e].node[a];
- dtemp += dU[ E->ID[lev][CPPR][node].doff[i] ]*
- dU[ E->ID[lev][CPPR][node].doff[i] ];
- temp += U[ E->ID[lev][CPPR][node].doff[i] ]*
- U[ E->ID[lev][CPPR][node].doff[i] ];
+ dtemp += dU[ E->ID[lev][node].doff[i] ]*
+ dU[ E->ID[lev][node].doff[i] ];
+ temp += U[ E->ID[lev][node].doff[i] ]*
+ U[ E->ID[lev][node].doff[i] ];
}
diff --git a/lib/Instructions.c b/lib/Instructions.c
index eaa1020..d501aee 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -1073,7 +1073,7 @@ void allocate_common_vars(E)
E->EVI[i] = (float *) malloc((nel+1)*vpoints[E->mesh.nsd]*sizeof(float));
E->BPI[i] = (double *) malloc((npno+1)*sizeof(double));
- E->ID[i][CPPR] = (struct ID *) malloc((nno+1)*sizeof(struct ID));
+ E->ID[i] = (struct ID *) malloc((nno+1)*sizeof(struct ID));
E->VI[i] = (float *) malloc((nno+1)*sizeof(float));
E->NODE[i] = (unsigned int *)malloc((nno+1)*sizeof(unsigned int));
@@ -1353,7 +1353,7 @@ void set_up_nonmg_aliases(struct All_variables *E)
E->eco = E->ECO[E->mesh.levmax];
E->ien = E->IEN[E->mesh.levmax];
- E->id = E->ID[E->mesh.levmax][CPPR];
+ E->id = E->ID[E->mesh.levmax];
E->Vi = E->VI[E->mesh.levmax];
E->EVi = E->EVI[E->mesh.levmax];
E->node = E->NODE[E->mesh.levmax];
diff --git a/lib/Petsc_citcoms.c b/lib/Petsc_citcoms.c
index bacfd54..90d2323 100644
--- a/lib/Petsc_citcoms.c
+++ b/lib/Petsc_citcoms.c
@@ -101,9 +101,9 @@ PetscErrorCode assemble_c_u_PETSc( struct All_variables *E, Vec U, Vec result, i
p = (a-1)*dims;
for(e=0;e<nel;e++) {
b = E->IEN[level][e+1].node[a];
- j1= E->ID[level][CPPR][b].doff[1];
- j2= E->ID[level][CPPR][b].doff[2];
- j3= E->ID[level][CPPR][b].doff[3];
+ j1= E->ID[level][b].doff[1];
+ j2= E->ID[level][b].doff[2];
+ j3= E->ID[level][b].doff[3];
result_temp[e] += E->elt_c[level][CPPR][e+1].c[p ][0] * U_temp[j1]
+ E->elt_c[level][CPPR][e+1].c[p+1][0] * U_temp[j2]
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index 66eb4d3..af1bcd8 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -487,7 +487,7 @@ void regional_parallel_communication_routs_v(E)
temp_dims = dims;
for(doff=1;doff<=temp_dims;doff++)
- E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
} /* end for node k */
E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
@@ -522,7 +522,7 @@ void regional_parallel_communication_routs_v(E)
E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[kkk] = node;
temp_dims = dims;
for(doff=1;doff<=temp_dims;doff++)
- E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
} /* end for node kk */
E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
@@ -557,7 +557,7 @@ void regional_parallel_communication_routs_v(E)
E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[kkk] = node;
temp_dims = dims;
for(doff=1;doff<=temp_dims;doff++)
- E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
} /* end for node k */
E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
diff --git a/lib/Solver_multigrid.c b/lib/Solver_multigrid.c
index dd6259d..53583a6 100644
--- a/lib/Solver_multigrid.c
+++ b/lib/Solver_multigrid.c
@@ -109,8 +109,8 @@ void inject_vector(E,start_lev,AU,AD)
node_coarse = E->IEN[sl_minus][el].node[i];
node_fine=E->IEN[start_lev][E->EL[sl_minus][CPPR][el].sub[i]].node[i];
for (j=1;j<=dims;j++) {
- eqn_fine = E->ID[start_lev][CPPR][node_fine].doff[j];
- eqn_coarse = E->ID[sl_minus][CPPR][node_coarse].doff[j];
+ eqn_fine = E->ID[start_lev][node_fine].doff[j];
+ eqn_coarse = E->ID[sl_minus][node_coarse].doff[j];
AD[eqn_coarse] = AU[eqn_fine];
}
}
@@ -150,12 +150,12 @@ void un_inject_vector(E,start_lev,AD,AU)
node = E->IEN[start_lev][el].node[i];
node_plus=E->IEN[sl_plus][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];
+ eqn1 = E->ID[start_lev][node].doff[1];
+ eqn2 = E->ID[start_lev][node].doff[2];
+ eqn3 = E->ID[start_lev][node].doff[3];
+ eqn_plus1 = E->ID[sl_plus][node_plus].doff[1];
+ eqn_plus2 = E->ID[sl_plus][node_plus].doff[2];
+ eqn_plus3 = E->ID[sl_plus][node_plus].doff[3];
AU[eqn_plus1] = AD[eqn1];
AU[eqn_plus2] = AD[eqn2];
AU[eqn_plus3] = AD[eqn3];
@@ -518,24 +518,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][e1].node[j];
- 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]];
+ average1 += E->temp[E->ID[start_lev][node1].doff[1]];
+ average2 += E->temp[E->ID[start_lev][node1].doff[2]];
+ average3 += E->temp[E->ID[start_lev][node1].doff[3]];
}
w = weight*E->TWW[sl_minus][el].node[i];
- 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->temp1[E->ID[sl_minus][node].doff[1]] += w * average1;
+ E->temp1[E->ID[sl_minus][node].doff[2]] += w * average2;
+ E->temp1[E->ID[sl_minus][node].doff[3]] += w * average3;
}
(E->solver.exchange_id_d)(E, E->temp1, sl_minus);
for(i=1;i<=nno_minus;i++) {
- E->temp1[E->ID[sl_minus][CPPR][i].doff[1]] *= E->MASS[sl_minus][i];
- E->temp1[E->ID[sl_minus][CPPR][i].doff[2]] *= E->MASS[sl_minus][i];
- E->temp1[E->ID[sl_minus][CPPR][i].doff[3]] *= E->MASS[sl_minus][i];
+ E->temp1[E->ID[sl_minus][i].doff[1]] *= E->MASS[sl_minus][i];
+ E->temp1[E->ID[sl_minus][i].doff[2]] *= E->MASS[sl_minus][i];
+ E->temp1[E->ID[sl_minus][i].doff[3]] *= E->MASS[sl_minus][i];
}
/* back into rtf coordinates */
@@ -553,9 +553,9 @@ void project_vector(E,start_lev,AU,AD,ic)
double cost,cosf,sint,sinf;
for (i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1 = E->ID[level][CPPR][i].doff[1];
- eqn2 = E->ID[level][CPPR][i].doff[2];
- eqn3 = E->ID[level][CPPR][i].doff[3];
+ eqn1 = E->ID[level][i].doff[1];
+ eqn2 = E->ID[level][i].doff[2];
+ eqn3 = E->ID[level][i].doff[3];
sint = E->SinCos[level][0][i];
sinf = E->SinCos[level][1][i];
cost = E->SinCos[level][2][i];
@@ -582,9 +582,9 @@ void project_vector(E,start_lev,AU,AD,ic)
double cost,cosf,sint,sinf;
for (i=1;i<=E->lmesh.NNO[level];i++) {
- eqn1 = E->ID[level][CPPR][i].doff[1];
- eqn2 = E->ID[level][CPPR][i].doff[2];
- eqn3 = E->ID[level][CPPR][i].doff[3];
+ eqn1 = E->ID[level][i].doff[1];
+ eqn2 = E->ID[level][i].doff[2];
+ eqn3 = E->ID[level][i].doff[3];
sint = E->SinCos[level][0][i];
sinf = E->SinCos[level][1][i];
cost = E->SinCos[level][2][i];
@@ -633,19 +633,19 @@ void project_vector(E,start_lev,AU,AD,ic)
/* now for each direction */
- eqn0=E->ID[level][CPPR][node0].doff[1];
- eqn1=E->ID[level][CPPR][node1].doff[1];
- eqn2=E->ID[level][CPPR][node2].doff[1];
+ eqn0=E->ID[level][node0].doff[1];
+ eqn1=E->ID[level][node1].doff[1];
+ eqn2=E->ID[level][node2].doff[1];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[2];
+ eqn1=E->ID[level][node1].doff[2];
+ eqn2=E->ID[level][node2].doff[2];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[3];
+ eqn1=E->ID[level][node1].doff[3];
+ eqn2=E->ID[level][node2].doff[3];
temp[eqn0] = n1*temp[eqn1]+n2*temp[eqn2];
}
@@ -657,19 +657,19 @@ void project_vector(E,start_lev,AU,AD,ic)
node1 = node0 - noxz;
node2 = node0 + noxz;
- eqn0=E->ID[level][CPPR][node0].doff[1];
- eqn1=E->ID[level][CPPR][node1].doff[1];
- eqn2=E->ID[level][CPPR][node2].doff[1];
+ eqn0=E->ID[level][node0].doff[1];
+ eqn1=E->ID[level][node1].doff[1];
+ eqn2=E->ID[level][node2].doff[1];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[2];
+ eqn1=E->ID[level][node1].doff[2];
+ eqn2=E->ID[level][node2].doff[2];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[3];
+ eqn1=E->ID[level][node1].doff[3];
+ eqn2=E->ID[level][node2].doff[3];
temp[eqn0] = n1*temp[eqn1]+n2*temp[eqn2];
}
@@ -685,19 +685,19 @@ void project_vector(E,start_lev,AU,AD,ic)
node1 = node0 - 1;
node2 = node0 + 1;
- eqn0=E->ID[level][CPPR][node0].doff[1];
- eqn1=E->ID[level][CPPR][node1].doff[1];
- eqn2=E->ID[level][CPPR][node2].doff[1];
+ eqn0=E->ID[level][node0].doff[1];
+ eqn1=E->ID[level][node1].doff[1];
+ eqn2=E->ID[level][node2].doff[1];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[2];
+ eqn1=E->ID[level][node1].doff[2];
+ eqn2=E->ID[level][node2].doff[2];
temp[eqn0] = n1*temp[eqn1]+n2*temp[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];
+ eqn0=E->ID[level][node0].doff[3];
+ eqn1=E->ID[level][node1].doff[3];
+ eqn2=E->ID[level][node2].doff[3];
temp[eqn0] = n1*temp[eqn1]+n2*temp[eqn2];
}
}
diff --git a/lib/global_defs.h b/lib/global_defs.h
index 226af8e..6c3df0a 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -803,7 +803,7 @@ struct All_variables {
struct COORD *ECO[MAX_LEVELS];
struct IEN *IEN[MAX_LEVELS]; /* global at each level */
struct FNODE *TWW[MAX_LEVELS]; /* for nodal averages */
- struct ID *ID[MAX_LEVELS][NCS];
+ struct ID *ID[MAX_LEVELS];
struct SUBEL *EL[MAX_LEVELS][NCS];
struct EG *elt_del[MAX_LEVELS][NCS];
struct EC *elt_c[MAX_LEVELS][NCS];
More information about the CIG-COMMITS
mailing list