source: issm/oecreview/Archive/16554-17801/ISSM-16975-16976.diff@ 17802

Last change on this file since 17802 was 17802, checked in by Mathieu Morlighem, 11 years ago

Added archives

File size: 3.4 KB
RevLine 
[17802]1Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
2===================================================================
3--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 16975)
4+++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 16976)
5@@ -3214,14 +3214,20 @@
6 ElementMatrix* StressbalanceAnalysis::CreateKMatrixSSAFS(Element* element){/*{{{*/
7
8 /*compute all stiffness matrices for this element*/
9+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
10 ElementMatrix* Ke1=CreateKMatrixFS(element);
11+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
12 int indices[3]={18,19,20};
13 Ke1->StaticCondensation(3,&indices[0]);
14+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
15 int init = element->FiniteElement();
16 element->SetTemporaryElementType(P1Enum);
17+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
18 ElementMatrix* Ke2=CreateKMatrixSSA3d(element);
19+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
20 element->SetTemporaryElementType(init);
21 ElementMatrix* Ke3=CreateKMatrixCouplingSSAFS(element);
22+ printf("-------------- file: StressbalanceAnalysis.cpp line: %i\n",__LINE__);
23 ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2,Ke3);
24
25 /*clean-up and return*/
26@@ -3535,7 +3541,7 @@
27 cs_list[2*vnumnodes-1+i] = PressureEnum;
28 }
29
30- ElementMatrix* Ke1=element->NewElementMatrix(SSAApproximationEnum);
31+ ElementMatrix* Ke1=element->NewElementMatrixCoupling(6,SSAApproximationEnum);
32 ElementMatrix* Ke2=element->NewElementMatrix(FSvelocityEnum);
33 ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
34 delete Ke1; delete Ke2;
35@@ -3641,21 +3647,21 @@
36 int* cs_list = xNew<int>(2*vnumnodes-1+pnumnodes);
37 Node **node_list = xNew<Node*>(2*vnumnodes-1+pnumnodes);
38 for(i=0;i<vnumnodes-1;i++){
39- node_list[vnumnodes+pnumnodes+i] = pentabase->GetNode(i);
40- cs_list[vnumnodes+pnumnodes+i] = XYEnum;
41+ node_list[i] = pentabase->GetNode(i);
42+ cs_list[i] = XYEnum;
43 }
44 for(i=0;i<vnumnodes;i++){
45- node_list[i] = element->GetNode(i);
46- cs_list[i] = XYZEnum;
47+ node_list[i+vnumnodes-1] = element->GetNode(i);
48+ cs_list[i+vnumnodes-1] = XYZEnum;
49 }
50 for(i=0;i<pnumnodes;i++){
51- node_list[vnumnodes+i] = element->GetNode(vnumnodes+i);
52- cs_list[vnumnodes+i] = PressureEnum;
53+ node_list[2*vnumnodes-1+i] = element->GetNode(vnumnodes+i);
54+ cs_list[2*vnumnodes-1+i] = PressureEnum;
55 }
56
57 /*Initialize Element matrix and return if necessary*/
58- ElementMatrix* Ke1=element->NewElementMatrix(FSvelocityEnum);
59- ElementMatrix* Ke2=pentabase->NewElementMatrixCoupling(6,SSAApproximationEnum);
60+ ElementMatrix* Ke1=pentabase->NewElementMatrixCoupling(6,SSAApproximationEnum);
61+ ElementMatrix* Ke2=element->NewElementMatrix(FSvelocityEnum);
62 ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
63 delete Ke1; delete Ke2;
64
65@@ -3698,8 +3704,8 @@
66 &Ke_gg2[0][0],1);
67
68 }
69- for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++) Ke->values[i*numdoftotal+j+numdofs]+=Ke_gg[i][j];
70- for(i=0;i<numdofm;i++) for(j=0;j<numdofs;j++) Ke->values[(i+numdofs)*numdoftotal+j]+=Ke_gg2[i][j];
71+ for(i=0;i<numdofs;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i][j];
72+ for(i=0;i<numdofm;i++) for(j=0;j<numdofs;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg2[i][j];
73
74 /*Transform Coordinate System*/
75 element->TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
Note: See TracBrowser for help on using the repository browser.