Changeset 15373
- Timestamp:
- 06/30/13 17:34:13 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Loads
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Loads/Numericalflux.cpp
r15372 r15373 33 33 /*}}}*/ 34 34 /*FUNCTION Numericalflux::Numericalflux(int id, int i, IoModel* iomodel, int analysis_type) {{{*/ 35 Numericalflux::Numericalflux(int numericalflux_id,int i, int i1,int i2,int e1,int e2,IoModel* iomodel, int in_analysis_type){35 Numericalflux::Numericalflux(int numericalflux_id,int i, IoModel* iomodel, int in_analysis_type){ 36 36 37 37 /* Intermediary */ 38 int e1,e2; 39 int i1,i2; 38 40 int j; 39 41 int pos1,pos2,pos3,pos4; … … 57 59 58 60 /*First, see wether this is an internal or boundary edge (if e2=-1)*/ 59 if (e2==-1){61 if (iomodel->Data(MeshEdgesEnum)[4*i+3]==-1.){ //edges are [node1 node2 elem1 elem2] 60 62 /* Boundary edge, only one element */ 61 num_elems=1; num_nodes=2; 63 e1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+2]); 64 e2=reCast<int>(UNDEF); 65 num_elems=1; 66 num_nodes=2; 62 67 numericalflux_type=BoundaryEnum; 63 68 numericalflux_elem_ids[0]=e1; … … 65 70 else{ 66 71 /* internal edge: connected to 2 elements */ 67 num_elems=2; num_nodes=4; 72 e1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+2]); 73 e2=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+3]); 74 num_elems=2; 75 num_nodes=4; 68 76 numericalflux_type=InternalEnum; 69 77 numericalflux_elem_ids[0]=e1; … … 72 80 73 81 /*1: Get vertices ids*/ 82 i1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+0]); 83 i2=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+1]); 74 84 numericalflux_vertex_ids[0]=i1; 75 85 numericalflux_vertex_ids[1]=i2; … … 83 93 pos1=pos2=pos3=pos4=UNDEF; 84 94 for(j=0;j<3;j++){ 85 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i1) pos1=j+1;86 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i2) pos2=j+1;87 if (iomodel->Data(MeshElementsEnum)[3*(e2-1)+j]==i1) pos3=j+1;88 if (iomodel->Data(MeshElementsEnum)[3*(e2-1)+j]==i2) pos4=j+1;95 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i1) pos1=j+1; 96 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i2) pos2=j+1; 97 if (iomodel->Data(MeshElementsEnum)[3*(e2-1)+j]==i1) pos3=j+1; 98 if (iomodel->Data(MeshElementsEnum)[3*(e2-1)+j]==i2) pos4=j+1; 89 99 } 90 100 _assert_(pos1!=UNDEF && pos2!=UNDEF && pos3!=UNDEF && pos4!=UNDEF); … … 102 112 pos1=pos2=UNDEF; 103 113 for(j=0;j<3;j++){ 104 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i1) pos1=j+1;105 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i2) pos2=j+1;114 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i1) pos1=j+1; 115 if (iomodel->Data(MeshElementsEnum)[3*(e1-1)+j]==i2) pos2=j+1; 106 116 } 107 117 _assert_(pos1!=UNDEF && pos2!=UNDEF); -
issm/trunk-jpl/src/c/classes/Loads/Numericalflux.h
r15372 r15373 37 37 /*Numericalflux constructors,destructors {{{*/ 38 38 Numericalflux(); 39 Numericalflux(int numericalflux_id,int i, int i1,int i2,int e1,int e2,IoModel* iomodel,int analysis_type);39 Numericalflux(int numericalflux_id,int i, IoModel* iomodel,int analysis_type); 40 40 ~Numericalflux(); 41 41 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.