source: issm/oecreview/Archive/15392-16133/ISSM-15656-15657.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: 4.2 KB
RevLine 
[16134]1Index: ../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
2===================================================================
3--- ../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp (revision 15656)
4+++ ../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp (revision 15657)
5@@ -138,13 +138,29 @@
6 iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum);
7 iomodel->FetchData(&surface,NULL,NULL,SurfaceEnum);
8 iomodel->FetchData(&z,NULL,NULL,MeshZEnum);
9- for(i=0;i<iomodel->numberofvertices;i++){
10- if(iomodel->my_vertices[i]){
11- if (reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
12- constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,1,g*rho_ice*(surface[i]-z[i])/FSreconditioning,DiagnosticHorizAnalysisEnum));
13- count++;
14+ switch(finiteelement){
15+ case P1bubbleEnum:
16+ for(i=0;i<iomodel->numberofvertices;i++){
17+ if(iomodel->my_vertices[i]){
18+ if (reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
19+ constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,1,g*rho_ice*(surface[i]-z[i])/FSreconditioning,DiagnosticHorizAnalysisEnum));
20+ count++;
21+ }
22+ }
23 }
24- }
25+ break;
26+ case P2Enum:
27+ for(i=0;i<iomodel->numberofvertices;i++){
28+ if(iomodel->my_vertices[i]){
29+ if (reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
30+ constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,1,g*rho_ice*(surface[i]-z[i])/FSreconditioning,DiagnosticHorizAnalysisEnum));
31+ count++;
32+ }
33+ }
34+ }
35+ break;
36+ default:
37+ _error_("not implemented yet");
38 }
39 iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum);
40 iomodel->DeleteData(surface,SurfaceEnum);
41Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
42===================================================================
43--- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 15656)
44+++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 15657)
45@@ -168,11 +168,13 @@
46 EdgesPartitioning(&my_edges,iomodel);
47 for(i=0;i<iomodel->numberofvertices;i++){
48 if(iomodel->my_vertices[i]){
49+ if(IssmComm::GetRank()==0) printf("Creating node id %i\n",iomodel->nodecounter+i+1);
50 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i,iomodel,analysis,FSvelocityEnum));
51 }
52 }
53 for(i=0;i<iomodel->numberofedges;i++){
54 if(my_edges[i]){
55+ if(IssmComm::GetRank()==0) printf("Creating node id %i\n",iomodel->nodecounter+iomodel->numberofvertices+i+1);
56 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,0,iomodel,analysis,FSvelocityEnum));
57 }
58 }
59@@ -180,6 +182,7 @@
60 /*P1 pressure*/
61 for(i=0;i<iomodel->numberofvertices;i++){
62 if(iomodel->my_vertices[i]){
63+ if(IssmComm::GetRank()==0) printf("Creating node id %i\n",iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1);
64 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,i,iomodel,analysis,FSpressureEnum));
65 }
66 }
67Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
68===================================================================
69--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15656)
70+++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15657)
71@@ -3332,7 +3332,6 @@
72 penta_node_ids[18]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[6*index+3];
73 penta_node_ids[19]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[6*index+4];
74 penta_node_ids[20]=iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->elements[6*index+5];
75- printarray(penta_node_ids,1,21);
76 break;
77 default:
78 _error_("Finite element "<<EnumToStringx(finiteelement_type)<<" not supported yet");
Note: See TracBrowser for help on using the repository browser.