Changeset 12557
- Timestamp:
- 06/26/12 11:24:21 (13 years ago)
- Location:
- issm/trunk-jpl/src/c/objects
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/objects/Loads/Icefront.cpp
r12511 r12557 65 65 } 66 66 _assert_(iomodel->Data(DiagnosticIcefrontEnum)); 67 element= (int)(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill)67 element=reCast<int,IssmDouble>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill) 68 68 69 69 /*Build ids for hook constructors: */ 70 icefront_eid= (int) *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2); //matlab indexing70 icefront_eid=reCast<int,IssmDouble>( *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)); //matlab indexing 71 71 icefront_mparid=numberofelements+1; //matlab indexing 72 72 73 73 if (in_icefront_type==MacAyeal2dIceFrontEnum || in_icefront_type==MacAyeal3dIceFrontEnum){ 74 icefront_node_ids[0]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0);75 icefront_node_ids[1]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1);74 icefront_node_ids[0]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0)); 75 icefront_node_ids[1]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1)); 76 76 } 77 77 else if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum){ 78 icefront_node_ids[0]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0);79 icefront_node_ids[1]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1);80 icefront_node_ids[2]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+2);81 icefront_node_ids[3]=iomodel->nodecounter+ (int)*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+3);78 icefront_node_ids[0]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0)); 79 icefront_node_ids[1]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1)); 80 icefront_node_ids[2]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+2)); 81 icefront_node_ids[3]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+3)); 82 82 } 83 83 else _error2_("in_icefront_type " << EnumToStringx(in_icefront_type) << " not supported yet!"); … … 89 89 90 90 /*Fill*/ 91 icefront_fill= (int)iomodel->Data(DiagnosticIcefrontEnum)[segment_width*i+segment_width-1];91 icefront_fill=reCast<int>(iomodel->Data(DiagnosticIcefrontEnum)[segment_width*i+segment_width-1]); 92 92 93 93 /*Ok, we have everything to build the object: */ -
issm/trunk-jpl/src/c/objects/Loads/Numericalflux.cpp
r12529 r12557 62 62 if (xIsNan<IssmDouble>((IssmDouble)iomodel->Data(MeshEdgesEnum)[4*i+3])){ //edges are [node1 node2 elem1 elem2] 63 63 /* Boundary edge, only one element */ 64 e1= (int)iomodel->Data(MeshEdgesEnum)[4*i+2];65 e2= (int)UNDEF;64 e1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+2]); 65 e2=reCast<int>(UNDEF); 66 66 num_elems=1; 67 67 num_nodes=2; 68 68 numericalflux_type=BoundaryEnum; 69 numericalflux_elem_ids[0]= (int)e1;69 numericalflux_elem_ids[0]=reCast<int>(e1); 70 70 } 71 71 else{ 72 72 /* internal edge: connected to 2 elements */ 73 e1= (int)iomodel->Data(MeshEdgesEnum)[4*i+2];74 e2= (int)iomodel->Data(MeshEdgesEnum)[4*i+3];73 e1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+2]); 74 e2=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+3]); 75 75 num_elems=2; 76 76 num_nodes=4; 77 77 numericalflux_type=InternalEnum; 78 numericalflux_elem_ids[0]= (int)e1;79 numericalflux_elem_ids[1]= (int)e2;78 numericalflux_elem_ids[0]=reCast<int>(e1); 79 numericalflux_elem_ids[1]=reCast<int>(e2); 80 80 } 81 81 82 82 /*1: Get vertices ids*/ 83 i1= (int)iomodel->Data(MeshEdgesEnum)[4*i+0];84 i2= (int)iomodel->Data(MeshEdgesEnum)[4*i+1];83 i1=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+0]); 84 i2=reCast<int>(iomodel->Data(MeshEdgesEnum)[4*i+1]); 85 85 86 86 if (numericalflux_type==InternalEnum){ -
issm/trunk-jpl/src/c/objects/Materials/Matice.cpp
r12556 r12557 677 677 /*Get B*/ 678 678 if (iomodel->Data(MaterialsRheologyBEnum)) { 679 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)];679 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)]; 680 680 this->inputs->AddInput(new TriaP1Input(MaterialsRheologyBbarEnum,nodeinputs)); 681 681 }
Note:
See TracChangeset
for help on using the changeset viewer.