source:
issm/oecreview/Archive/15392-16133/ISSM-15768-15769.diff@
16134
Last change on this file since 16134 was 16134, checked in by , 12 years ago | |
---|---|
File size: 3.3 KB |
-
../trunk-jpl/src/c/classes/Elements/Penta.cpp
6875 6875 ElementMatrix* Penta::CreateKMatrixCouplingSSAFSViscous(void){ 6876 6876 6877 6877 /*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; 6882 6881 6883 6882 /*Intermediaries */ 6884 6883 int i,j; … … 6886 6885 IssmDouble viscosity,FSreconditioning; //viscosity 6887 6886 IssmDouble epsilon[6]; /* epsilon=[exx,eyy,exy,exz,eyz];*/ 6888 6887 IssmDouble xyz_list[NUMVERTICES][3]; 6889 IssmDouble B[4][numdofs total];6888 IssmDouble B[4][numdofs]; 6890 6889 IssmDouble Bprime[4][numdofm]; 6891 6890 IssmDouble B2[3][numdofm]; 6892 IssmDouble Bprime2[3][numdofs total];6891 IssmDouble Bprime2[3][numdofs]; 6893 6892 IssmDouble D[4][4]={0.0}; // material matrix, simple scalar matrix. 6894 6893 IssmDouble D2[3][3]={0.0}; // material matrix, simple scalar matrix. 6895 6894 IssmDouble D_scalar; 6896 6895 IssmDouble Ke_gg[numdofs][numdofm]={0.0}; //local element stiffness matrix 6897 6896 IssmDouble Ke_gg2[numdofm][numdofs]={0.0}; //local element stiffness matrix 6898 IssmDouble Ke_gg_gaussian[numdofs total][numdofm]; //stiffness matrix evaluated at the gaussian point.6899 IssmDouble Ke_gg_gaussian2[numdofm][numdofs total]; //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. 6900 6899 GaussPenta *gauss=NULL; 6901 6900 GaussTria *gauss_tria=NULL; 6902 6901 Node *node_list[20]; … … 6960 6959 D[3][3]=-gauss->weight*Jdet*FSreconditioning; 6961 6960 for (i=0;i<3;i++) D2[i][i]=D_scalar; 6962 6961 6963 TripleMultiply( &B[0][0],4,numdofs total,1,6962 TripleMultiply( &B[0][0],4,numdofs,1, 6964 6963 &D[0][0],4,4,0, 6965 6964 &Bprime[0][0],4,numdofm,0, 6966 6965 &Ke_gg_gaussian[0][0],0); 6967 6966 6968 6967 TripleMultiply( &B2[0][0],3,numdofm,1, 6969 6968 &D2[0][0],3,3,0, 6970 &Bprime2[0][0],3,numdofs total,0,6969 &Bprime2[0][0],3,numdofs,0, 6971 6970 &Ke_gg_gaussian2[0][0],0); 6972 6971 6973 for( i=0; i<numdofs total; 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<numdofs total; 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]; 6975 6974 } 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]; 6978 6977 6979 6978 /*Transform Coordinate System*/ 6980 6979 TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
Note:
See TracBrowser
for help on using the repository browser.