Changeset 9522


Ignore:
Timestamp:
08/31/11 11:43:11 (14 years ago)
Author:
Mathieu Morlighem
Message:

Got rid of riftinfo

Location:
issm/trunk/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9454 r9522  
    490490        ZEnum,
    491491        Fake36Enum,
    492         RiftinfoEnum,
     492        RiftsEnum,
    493493        ElementOnIceSheetEnum,
    494494        SpcthicknessEnum,
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9454 r9522  
    432432                case ZEnum : return "Z";
    433433                case Fake36Enum : return "Fake36";
    434                 case RiftinfoEnum : return "Riftinfo";
     434                case RiftsEnum : return "Rifts";
    435435                case ElementOnIceSheetEnum : return "ElementOnIceSheet";
    436436                case SpcthicknessEnum : return "Spcthickness";
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r9406 r9522  
    173173        /*Create Riffront loads for rifts: */
    174174        if(numrifts){
    175                 iomodel->FetchData(&riftinfo,&numriftsegments,NULL,RiftinfoEnum);
    176                 iomodel->FetchData(5,RiftinfoEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);
     175                iomodel->FetchData(&riftinfo,&numriftsegments,NULL,RiftsEnum);
     176                iomodel->FetchData(5,RiftsEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);
    177177                for(i=0;i<numriftsegments;i++){
    178178                        if(iomodel->my_elements[(int)*(riftinfo+RIFTINFOSIZE*i+2)-1]){
     
    181181                        }
    182182                }
    183                 iomodel->DeleteData(5,RiftinfoEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);
     183                iomodel->DeleteData(5,RiftsEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);
    184184                xfree((void**)&riftfront);
    185185        }
  • issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp

    r9405 r9522  
    8787        /*Deal with rifts, they have to be included into one partition only, not several: */
    8888        if(numrifts){
    89                 iomodel->FetchData(&riftinfo,&numrifts,NULL,RiftinfoEnum);
     89                iomodel->FetchData(&riftinfo,&numrifts,NULL,RiftsEnum);
    9090                for(i=0;i<numrifts;i++){
    9191                        el1=(int)*(riftinfo+RIFTINFOSIZE*i+2)-1; //matlab indexing to c indexing
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9454 r9522  
    430430        else if (strcmp(name,"Z")==0) return ZEnum;
    431431        else if (strcmp(name,"Fake36")==0) return Fake36Enum;
    432         else if (strcmp(name,"Riftinfo")==0) return RiftinfoEnum;
     432        else if (strcmp(name,"Rifts")==0) return RiftsEnum;
    433433        else if (strcmp(name,"ElementOnIceSheet")==0) return ElementOnIceSheetEnum;
    434434        else if (strcmp(name,"Spcthickness")==0) return SpcthicknessEnum;
  • issm/trunk/src/c/objects/Loads/Riftfront.cpp

    r9405 r9522  
    6060
    6161        /*Ok, retrieve all the data needed to add a penalty between the two nodes: */
    62         el1=(int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+2);
    63         el2=(int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+3);
    64 
    65         node1=(int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+0);
    66         node2=(int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+1);
     62        el1=(int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+2);
     63        el2=(int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+3);
     64
     65        node1=(int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+0);
     66        node2=(int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+1);
    6767
    6868        /*id: */
     
    8989        this->penalty_lock=penalty_lock;
    9090        this->material_converged=0;
    91         this->normal[0]=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+4);
    92         this->normal[1]=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+5);
    93         this->length=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+6);
    94         this->fraction=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+9);
    95         this->state=(int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+11);
     91        this->normal[0]=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+4);
     92        this->normal[1]=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+5);
     93        this->length=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+6);
     94        this->fraction=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+9);
     95        this->state=(int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+11);
    9696
    9797        //intialize inputs, and add as many inputs per element as requested:
     
    9999               
    100100        riftfront_type=SegmentRiftfrontEnum;
    101         riftfront_fill = (int)*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+7);
    102         riftfront_friction=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+8);
    103         riftfront_fractionincrement=*(iomodel->Data(RiftinfoEnum)+RIFTINFOSIZE*i+10);
     101        riftfront_fill = (int)*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+7);
     102        riftfront_friction=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+8);
     103        riftfront_fractionincrement=*(iomodel->Data(RiftsEnum)+RIFTINFOSIZE*i+10);
    104104        riftfront_shelf=(bool)iomodel->Data(NodeOnIceShelfEnum)[node1-1];
    105105
  • issm/trunk/src/m/classes/model.m

    r9520 r9522  
    7777                 segments             = modelfield('default',NaN,'marshall',false);
    7878                 segmentmarkers       = modelfield('default',NaN,'marshall',false);
    79                  rifts                = modelfield('default',NaN,'marshall',false);
    80                  riftinfo             = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
     79                 rifts                = modelfield('default',NaN,'marshall',true,'preprocess','marshallrifts','format','DoubleMat','mattype',3);
    8180                 riftproperties       = modelfield('default',NaN,'marshall',false);
    8281                 numrifts             = modelfield('default',0,'marshall',true,'format','Integer');
  • issm/trunk/src/m/model/marshall.m

    r9513 r9522  
    345345        pos=find(in(:,end)==1); out(pos,end)=WaterEnum;
    346346        pos=find(in(:,end)==2); out(pos,end)=IceEnum;
     347
     348function out=marshallrifts(in)
     349        if isempty(in) | isnans(in),
     350                numrifts=0;
     351        else
     352                numrifts=numel(in);
     353        end
     354        numpairs=0;
     355        for i=1:numrifts,
     356                numpairs=numpairs+size(in(i).penaltypairs,1);
     357        end
     358
     359        out=zeros(numpairs,12); % 2 for nodes + 2 for elements+ 2 for  normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction + 1 for fractionincrement + 1 for state.
     360
     361        count=1;
     362        for i=1:numrifts,
     363                numpairsforthisrift=size(in(i).penaltypairs,1);
     364                out(count:count+numpairsforthisrift-1,1:7)=in(i).penaltypairs;
     365                out(count:count+numpairsforthisrift-1,8)=in(i).fill;
     366                out(count:count+numpairsforthisrift-1,9)=in(i).friction;
     367                out(count:count+numpairsforthisrift-1,10)=in(i).fraction;
     368                out(count:count+numpairsforthisrift-1,11)=in(i).fractionincrement;
     369                out(count:count+numpairsforthisrift-1,12)=in(i).state;
     370                count=count+numpairsforthisrift;
     371        end
     372
  • issm/trunk/src/m/model/plot/plot_riftfraction.m

    r8472 r9522  
    2626fractions=zeros(md.numberofnodes,1);
    2727
    28 %plug riftproperties fractions:
    29 fractions(md.riftinfo(:,1))=md.riftproperties;
    30 fractions(md.riftinfo(:,2))=md.riftproperties;
    31 
    3228%complete the tips.
    3329for i=1:length(md.rifts),
  • issm/trunk/src/m/model/presolve.m

    r9381 r9522  
    1616end
    1717
    18 numpairs=0;
    19 for i=1:md.numrifts,
    20         numpairs=numpairs+size(md.rifts(i).penaltypairs,1);
    21 end
    22 
    23 md.riftinfo=zeros(numpairs,12); % 2 for nodes + 2 for elements+ 2 for  normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction + 1 for fractionincrement + 1 for state.
    24 
    25 count=1;
    26 for i=1:md.numrifts,
    27         numpairsforthisrift=size(md.rifts(i).penaltypairs,1);
    28         md.riftinfo(count:count+numpairsforthisrift-1,1:7)=md.rifts(i).penaltypairs;
    29         md.riftinfo(count:count+numpairsforthisrift-1,8)=md.rifts(i).fill;
    30         md.riftinfo(count:count+numpairsforthisrift-1,9)=md.rifts(i).friction;
    31         md.riftinfo(count:count+numpairsforthisrift-1,10)=md.rifts(i).fraction;
    32         md.riftinfo(count:count+numpairsforthisrift-1,11)=md.rifts(i).fractionincrement;
    33         md.riftinfo(count:count+numpairsforthisrift-1,12)=md.rifts(i).state;
    34         count=count+numpairsforthisrift;
    35 end
    36 
    3718%Control methods
    3819md.num_control_type=numel(md.control_type);
Note: See TracChangeset for help on using the changeset viewer.