source: issm/oecreview/Archive/15392-16133/ISSM-15768-15769.diff

Last change on this file was 16134, checked in by Mathieu Morlighem, 12 years ago

Added Archive/15392-16133

File size: 3.3 KB
  • ../trunk-jpl/src/c/classes/Elements/Penta.cpp

     
    68756875ElementMatrix* Penta::CreateKMatrixCouplingSSAFSViscous(void){
    68766876
    68776877        /*Constants*/
    6878         const int numdofm      = NDOF2 *NUMVERTICES2D;
    6879         const int numdofs      = NDOF4 *NUMVERTICES;
    6880         const int numdofstotal = NDOF4 *NUMVERTICES + NDOF3;
    6881         const int numdoftotal  = 2 *numdofm+numdofstotal;
     6878        const int numdofm     = NDOF2 *NUMVERTICES2D;
     6879        const int numdofs     = NDOF4 *NUMVERTICES + NDOF3;
     6880        const int numdoftotal = 2 *numdofm+numdofs;
    68826881
    68836882        /*Intermediaries */
    68846883        int        i,j;
     
    68866885        IssmDouble viscosity,FSreconditioning; //viscosity
    68876886        IssmDouble epsilon[6]; /* epsilon=[exx,eyy,exy,exz,eyz];*/
    68886887        IssmDouble xyz_list[NUMVERTICES][3];
    6889         IssmDouble B[4][numdofstotal];
     6888        IssmDouble B[4][numdofs];
    68906889        IssmDouble Bprime[4][numdofm];
    68916890        IssmDouble B2[3][numdofm];
    6892         IssmDouble Bprime2[3][numdofstotal];
     6891        IssmDouble Bprime2[3][numdofs];
    68936892        IssmDouble D[4][4]={0.0};            // material matrix, simple scalar matrix.
    68946893        IssmDouble D2[3][3]={0.0};            // material matrix, simple scalar matrix.
    68956894        IssmDouble D_scalar;
    68966895        IssmDouble Ke_gg[numdofs][numdofm]={0.0}; //local element stiffness matrix
    68976896        IssmDouble Ke_gg2[numdofm][numdofs]={0.0}; //local element stiffness matrix
    6898         IssmDouble Ke_gg_gaussian[numdofstotal][numdofm]; //stiffness matrix evaluated at the gaussian point.
    6899         IssmDouble Ke_gg_gaussian2[numdofm][numdofstotal]; //stiffness matrix evaluated at the gaussian point.
     6897        IssmDouble Ke_gg_gaussian[numdofs][numdofm]; //stiffness matrix evaluated at the gaussian point.
     6898        IssmDouble Ke_gg_gaussian2[numdofm][numdofs]; //stiffness matrix evaluated at the gaussian point.
    69006899        GaussPenta *gauss=NULL;
    69016900        GaussTria  *gauss_tria=NULL;
    69026901        Node       *node_list[20];
     
    69606959                D[3][3]=-gauss->weight*Jdet*FSreconditioning;
    69616960                for (i=0;i<3;i++) D2[i][i]=D_scalar;
    69626961
    6963                 TripleMultiply( &B[0][0],4,numdofstotal,1,
     6962                TripleMultiply( &B[0][0],4,numdofs,1,
    69646963                                        &D[0][0],4,4,0,
    69656964                                        &Bprime[0][0],4,numdofm,0,
    69666965                                        &Ke_gg_gaussian[0][0],0);
    69676966
    69686967                TripleMultiply( &B2[0][0],3,numdofm,1,
    69696968                                        &D2[0][0],3,3,0,
    6970                                         &Bprime2[0][0],3,numdofstotal,0,
     6969                                        &Bprime2[0][0],3,numdofs,0,
    69716970                                        &Ke_gg_gaussian2[0][0],0);
    69726971
    6973                 for( i=0; i<numdofstotal; i++) for(j=0;j<numdofm; j++)      Ke_gg[i][j]+=Ke_gg_gaussian[i][j];
    6974                 for( i=0; i<numdofm; i++)      for(j=0;j<numdofstotal; j++) Ke_gg2[i][j]+=Ke_gg_gaussian2[i][j];
     6972                for( i=0; i<numdofs; i++) for(j=0;j<numdofm; j++)      Ke_gg[i][j]+=Ke_gg_gaussian[i][j];
     6973                for( i=0; i<numdofm; i++)      for(j=0;j<numdofs; j++) Ke_gg2[i][j]+=Ke_gg_gaussian2[i][j];
    69756974        }
    6976         for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j];
    6977         for(i=0;i<numdofm;i++) for(j=0;j<numdofs;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j];
     6975        for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++)      Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j];
     6976        for(i=0;i<numdofm;i++)      for(j=0;j<numdofs;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j];
    69786977
    69796978        /*Transform Coordinate System*/
    69806979        TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
Note: See TracBrowser for help on using the repository browser.