[16134] | 1 | Index: ../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);
|
---|
| 41 | Index: ../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 | }
|
---|
| 67 | Index: ../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");
|
---|