Changeset 12557


Ignore:
Timestamp:
06/26/12 11:24:21 (13 years ago)
Author:
utke
Message:

use reCast

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  
    6565        }
    6666        _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)
    6868
    6969        /*Build ids for hook constructors: */
    70         icefront_eid=(int) *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2); //matlab indexing
     70        icefront_eid=reCast<int,IssmDouble>( *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)); //matlab indexing
    7171        icefront_mparid=numberofelements+1; //matlab indexing
    7272
    7373        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));
    7676        }
    7777        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));
    8282        }
    8383        else _error2_("in_icefront_type " << EnumToStringx(in_icefront_type) << " not supported yet!");
     
    8989
    9090        /*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]);
    9292       
    9393        /*Ok, we have everything to build the object: */
  • issm/trunk-jpl/src/c/objects/Loads/Numericalflux.cpp

    r12529 r12557  
    6262        if (xIsNan<IssmDouble>((IssmDouble)iomodel->Data(MeshEdgesEnum)[4*i+3])){ //edges are [node1 node2 elem1 elem2]
    6363                /* 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);
    6666                num_elems=1;
    6767                num_nodes=2;
    6868                numericalflux_type=BoundaryEnum;
    69                 numericalflux_elem_ids[0]=(int)e1;
     69                numericalflux_elem_ids[0]=reCast<int>(e1);
    7070        }
    7171        else{
    7272                /* 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]);
    7575                num_elems=2;
    7676                num_nodes=4;
    7777                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);
    8080        }
    8181
    8282        /*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]);
    8585
    8686        if (numericalflux_type==InternalEnum){
  • issm/trunk-jpl/src/c/objects/Materials/Matice.cpp

    r12556 r12557  
    677677                /*Get B*/
    678678                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)];
    680680                        this->inputs->AddInput(new TriaP1Input(MaterialsRheologyBbarEnum,nodeinputs));
    681681                }
Note: See TracChangeset for help on using the changeset viewer.