Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15768) +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15769) @@ -6875,10 +6875,9 @@ ElementMatrix* Penta::CreateKMatrixCouplingSSAFSViscous(void){ /*Constants*/ - const int numdofm = NDOF2 *NUMVERTICES2D; - const int numdofs = NDOF4 *NUMVERTICES; - const int numdofstotal = NDOF4 *NUMVERTICES + NDOF3; - const int numdoftotal = 2 *numdofm+numdofstotal; + const int numdofm = NDOF2 *NUMVERTICES2D; + const int numdofs = NDOF4 *NUMVERTICES + NDOF3; + const int numdoftotal = 2 *numdofm+numdofs; /*Intermediaries */ int i,j; @@ -6886,17 +6885,17 @@ IssmDouble viscosity,FSreconditioning; //viscosity IssmDouble epsilon[6]; /* epsilon=[exx,eyy,exy,exz,eyz];*/ IssmDouble xyz_list[NUMVERTICES][3]; - IssmDouble B[4][numdofstotal]; + IssmDouble B[4][numdofs]; IssmDouble Bprime[4][numdofm]; IssmDouble B2[3][numdofm]; - IssmDouble Bprime2[3][numdofstotal]; + IssmDouble Bprime2[3][numdofs]; IssmDouble D[4][4]={0.0}; // material matrix, simple scalar matrix. IssmDouble D2[3][3]={0.0}; // material matrix, simple scalar matrix. IssmDouble D_scalar; IssmDouble Ke_gg[numdofs][numdofm]={0.0}; //local element stiffness matrix IssmDouble Ke_gg2[numdofm][numdofs]={0.0}; //local element stiffness matrix - IssmDouble Ke_gg_gaussian[numdofstotal][numdofm]; //stiffness matrix evaluated at the gaussian point. - IssmDouble Ke_gg_gaussian2[numdofm][numdofstotal]; //stiffness matrix evaluated at the gaussian point. + IssmDouble Ke_gg_gaussian[numdofs][numdofm]; //stiffness matrix evaluated at the gaussian point. + IssmDouble Ke_gg_gaussian2[numdofm][numdofs]; //stiffness matrix evaluated at the gaussian point. GaussPenta *gauss=NULL; GaussTria *gauss_tria=NULL; Node *node_list[20]; @@ -6960,21 +6959,21 @@ D[3][3]=-gauss->weight*Jdet*FSreconditioning; for (i=0;i<3;i++) D2[i][i]=D_scalar; - TripleMultiply( &B[0][0],4,numdofstotal,1, + TripleMultiply( &B[0][0],4,numdofs,1, &D[0][0],4,4,0, &Bprime[0][0],4,numdofm,0, &Ke_gg_gaussian[0][0],0); TripleMultiply( &B2[0][0],3,numdofm,1, &D2[0][0],3,3,0, - &Bprime2[0][0],3,numdofstotal,0, + &Bprime2[0][0],3,numdofs,0, &Ke_gg_gaussian2[0][0],0); - for( i=0; ivalues[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j]; - for(i=0;ivalues[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j]; + for(i=0;ivalues[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j]; + for(i=0;ivalues[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j]; /*Transform Coordinate System*/ TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);