source: issm/oecreview/Archive/16554-17801/ISSM-17560-17561.diff

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

Added archives

File size: 4.0 KB
RevLine 
[17802]1Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp
2===================================================================
3--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17560)
4+++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17561)
5@@ -243,10 +243,10 @@
6
7 int numbervertices;
8 if(iomodel->meshtype==Mesh3DEnum){
9- if((iomodel->faces[6*facenumber+5]-1)==1){
10+ if((iomodel->faces[6*facenumber+5])==1){
11 numbervertices=3;
12 }
13- else if((iomodel->faces[6*facenumber+5]-1)==2){
14+ else if((iomodel->faces[6*facenumber+5])==2){
15 numbervertices=4;
16 }
17 else _error_("face marker not supported yet ");
18@@ -258,11 +258,11 @@
19 for(int i=0;i<3;i++) facevertices[i]=iomodel->faces[6*facenumber+i]-1;
20 }
21 else if(numbervertices==4){
22- int i,j,cols,faceid;
23+ int i,j,k,cols,faceid;
24 int maxnbf,nbf,elementnbf,elementnbv,facemaxnbv;
25 int *elementfaces = NULL;
26 int *elementfaces_markers = NULL;
27- int elementid=iomodel->faces[6*facenumber+4]-1;
28+ int elementid=iomodel->faces[6*facenumber+3];
29 int counter=0;
30
31 /*Recreate element properties*/
32@@ -288,13 +288,17 @@
33 for(faceid=2;faceid<5;faceid++){
34 counter=0;
35 for(j=0;j<3;j++){
36- if(iomodel->elements[elementid*6+elementfaces[cols*faceid+j]] == iomodel->faces[6*facenumber+j]) counter++;
37+ for(k=1;k<5;k++){
38+ if(iomodel->elements[(elementid-1)*6+elementfaces[cols*faceid+k]] == iomodel->faces[6*facenumber+j]) counter++;
39+ }
40 }
41 if(counter==3) break;
42 }
43 if(counter!=3) _error_("face not found in element");
44
45- for(j=0;j<3;j++) facevertices[i]=iomodel->elements[elementid*6+elementfaces[cols*faceid+j]];
46+ for(j=0;j<4;j++){
47+ facevertices[j]=iomodel->elements[(elementid-1)*6+elementfaces[cols*faceid+j+1]];
48+ }
49
50 /*Delete*/
51 xDelete<int>(elementfaces);
52Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
53===================================================================
54--- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17560)
55+++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17561)
56@@ -124,17 +124,18 @@
57 FaceGetVertexIndices(iomodel,&numfacevertices,&faceverticesid,i);
58 isnan=0;
59 for(j=0;j<numfacevertices;j++){
60- if(xIsNan<IssmDouble>(spcdata[faceverticesid[j]])) isnan=1;
61+ if(xIsNan<IssmDouble>(spcdata[faceverticesid[j]-1])) isnan=1;
62 }
63 if(isnan==0){
64 value=0;
65 for(j=0;j<numfacevertices;j++){
66- value=value+spcdata[faceverticesid[j]]/numfacevertices;
67+ value=value+spcdata[faceverticesid[j]-1]/numfacevertices;
68 }
69 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,
70 dof,value,analysis_type));
71 count++;
72 }
73+ xDelete<int>(faceverticesid);
74 }
75 }
76 }
77@@ -183,12 +184,12 @@
78 FaceGetVertexIndices(iomodel,&numfacevertices,&faceverticesid,i);
79 isnan=0;
80 for(j=0;j<numfacevertices;j++){
81- if(xIsNan<IssmDouble>(spcdata[faceverticesid[j]])) isnan=1;
82+ if(xIsNan<IssmDouble>(spcdata[faceverticesid[j]-1])) isnan=1;
83 }
84 if(isnan==0){
85 value=0;
86 for(j=0;j<numfacevertices;j++){
87- value=value+spcdata[faceverticesid[j]]/numfacevertices;
88+ value=value+spcdata[faceverticesid[j]-1]/numfacevertices;
89 }
90 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*i+1,
91 dof,value,analysis_type));
92@@ -198,6 +199,7 @@
93 dof,value,analysis_type));
94 count=count+3;
95 }
96+ xDelete<int>(faceverticesid);
97 }
98 }
99 }
100@@ -465,7 +467,6 @@
101 }
102
103 /*Free ressources:*/
104- xDelete<int>(faceverticesid);
105 xDelete<IssmDouble>(times);
106 xDelete<IssmDouble>(values);
107 xDelete<bool>(my_edges);
Note: See TracBrowser for help on using the repository browser.