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

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

Added Archive/15392-16133

File size: 3.3 KB
RevLine 
[16134]1Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
2===================================================================
3--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15768)
4+++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15769)
5@@ -6875,10 +6875,9 @@
6 ElementMatrix* Penta::CreateKMatrixCouplingSSAFSViscous(void){
7
8 /*Constants*/
9- const int numdofm = NDOF2 *NUMVERTICES2D;
10- const int numdofs = NDOF4 *NUMVERTICES;
11- const int numdofstotal = NDOF4 *NUMVERTICES + NDOF3;
12- const int numdoftotal = 2 *numdofm+numdofstotal;
13+ const int numdofm = NDOF2 *NUMVERTICES2D;
14+ const int numdofs = NDOF4 *NUMVERTICES + NDOF3;
15+ const int numdoftotal = 2 *numdofm+numdofs;
16
17 /*Intermediaries */
18 int i,j;
19@@ -6886,17 +6885,17 @@
20 IssmDouble viscosity,FSreconditioning; //viscosity
21 IssmDouble epsilon[6]; /* epsilon=[exx,eyy,exy,exz,eyz];*/
22 IssmDouble xyz_list[NUMVERTICES][3];
23- IssmDouble B[4][numdofstotal];
24+ IssmDouble B[4][numdofs];
25 IssmDouble Bprime[4][numdofm];
26 IssmDouble B2[3][numdofm];
27- IssmDouble Bprime2[3][numdofstotal];
28+ IssmDouble Bprime2[3][numdofs];
29 IssmDouble D[4][4]={0.0}; // material matrix, simple scalar matrix.
30 IssmDouble D2[3][3]={0.0}; // material matrix, simple scalar matrix.
31 IssmDouble D_scalar;
32 IssmDouble Ke_gg[numdofs][numdofm]={0.0}; //local element stiffness matrix
33 IssmDouble Ke_gg2[numdofm][numdofs]={0.0}; //local element stiffness matrix
34- IssmDouble Ke_gg_gaussian[numdofstotal][numdofm]; //stiffness matrix evaluated at the gaussian point.
35- IssmDouble Ke_gg_gaussian2[numdofm][numdofstotal]; //stiffness matrix evaluated at the gaussian point.
36+ IssmDouble Ke_gg_gaussian[numdofs][numdofm]; //stiffness matrix evaluated at the gaussian point.
37+ IssmDouble Ke_gg_gaussian2[numdofm][numdofs]; //stiffness matrix evaluated at the gaussian point.
38 GaussPenta *gauss=NULL;
39 GaussTria *gauss_tria=NULL;
40 Node *node_list[20];
41@@ -6960,21 +6959,21 @@
42 D[3][3]=-gauss->weight*Jdet*FSreconditioning;
43 for (i=0;i<3;i++) D2[i][i]=D_scalar;
44
45- TripleMultiply( &B[0][0],4,numdofstotal,1,
46+ TripleMultiply( &B[0][0],4,numdofs,1,
47 &D[0][0],4,4,0,
48 &Bprime[0][0],4,numdofm,0,
49 &Ke_gg_gaussian[0][0],0);
50
51 TripleMultiply( &B2[0][0],3,numdofm,1,
52 &D2[0][0],3,3,0,
53- &Bprime2[0][0],3,numdofstotal,0,
54+ &Bprime2[0][0],3,numdofs,0,
55 &Ke_gg_gaussian2[0][0],0);
56
57- for( i=0; i<numdofstotal; i++) for(j=0;j<numdofm; j++) Ke_gg[i][j]+=Ke_gg_gaussian[i][j];
58- for( i=0; i<numdofm; i++) for(j=0;j<numdofstotal; j++) Ke_gg2[i][j]+=Ke_gg_gaussian2[i][j];
59+ for( i=0; i<numdofs; i++) for(j=0;j<numdofm; j++) Ke_gg[i][j]+=Ke_gg_gaussian[i][j];
60+ for( i=0; i<numdofm; i++) for(j=0;j<numdofs; j++) Ke_gg2[i][j]+=Ke_gg_gaussian2[i][j];
61 }
62- for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j];
63- for(i=0;i<numdofm;i++) for(j=0;j<numdofs;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j];
64+ for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j];
65+ for(i=0;i<numdofm;i++) for(j=0;j<numdofs;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j];
66
67 /*Transform Coordinate System*/
68 TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
Note: See TracBrowser for help on using the repository browser.