Changeset 9522
- Timestamp:
- 08/31/11 11:43:11 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9454 r9522 490 490 ZEnum, 491 491 Fake36Enum, 492 Rift infoEnum,492 RiftsEnum, 493 493 ElementOnIceSheetEnum, 494 494 SpcthicknessEnum, -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9454 r9522 432 432 case ZEnum : return "Z"; 433 433 case Fake36Enum : return "Fake36"; 434 case Rift infoEnum : return "Riftinfo";434 case RiftsEnum : return "Rifts"; 435 435 case ElementOnIceSheetEnum : return "ElementOnIceSheet"; 436 436 case SpcthicknessEnum : return "Spcthickness"; -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
r9406 r9522 173 173 /*Create Riffront loads for rifts: */ 174 174 if(numrifts){ 175 iomodel->FetchData(&riftinfo,&numriftsegments,NULL,Rift infoEnum);176 iomodel->FetchData(5,Rift infoEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);175 iomodel->FetchData(&riftinfo,&numriftsegments,NULL,RiftsEnum); 176 iomodel->FetchData(5,RiftsEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum); 177 177 for(i=0;i<numriftsegments;i++){ 178 178 if(iomodel->my_elements[(int)*(riftinfo+RIFTINFOSIZE*i+2)-1]){ … … 181 181 } 182 182 } 183 iomodel->DeleteData(5,Rift infoEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum);183 iomodel->DeleteData(5,RiftsEnum,ThicknessEnum,BedEnum,SurfaceEnum,NodeOnIceShelfEnum); 184 184 xfree((void**)&riftfront); 185 185 } -
issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
r9405 r9522 87 87 /*Deal with rifts, they have to be included into one partition only, not several: */ 88 88 if(numrifts){ 89 iomodel->FetchData(&riftinfo,&numrifts,NULL,Rift infoEnum);89 iomodel->FetchData(&riftinfo,&numrifts,NULL,RiftsEnum); 90 90 for(i=0;i<numrifts;i++){ 91 91 el1=(int)*(riftinfo+RIFTINFOSIZE*i+2)-1; //matlab indexing to c indexing -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9454 r9522 430 430 else if (strcmp(name,"Z")==0) return ZEnum; 431 431 else if (strcmp(name,"Fake36")==0) return Fake36Enum; 432 else if (strcmp(name,"Rift info")==0) return RiftinfoEnum;432 else if (strcmp(name,"Rifts")==0) return RiftsEnum; 433 433 else if (strcmp(name,"ElementOnIceSheet")==0) return ElementOnIceSheetEnum; 434 434 else if (strcmp(name,"Spcthickness")==0) return SpcthicknessEnum; -
issm/trunk/src/c/objects/Loads/Riftfront.cpp
r9405 r9522 60 60 61 61 /*Ok, retrieve all the data needed to add a penalty between the two nodes: */ 62 el1=(int)*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+2);63 el2=(int)*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+3);64 65 node1=(int)*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+0);66 node2=(int)*(iomodel->Data(Rift infoEnum)+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); 67 67 68 68 /*id: */ … … 89 89 this->penalty_lock=penalty_lock; 90 90 this->material_converged=0; 91 this->normal[0]=*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+4);92 this->normal[1]=*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+5);93 this->length=*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+6);94 this->fraction=*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+9);95 this->state=(int)*(iomodel->Data(Rift infoEnum)+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); 96 96 97 97 //intialize inputs, and add as many inputs per element as requested: … … 99 99 100 100 riftfront_type=SegmentRiftfrontEnum; 101 riftfront_fill = (int)*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+7);102 riftfront_friction=*(iomodel->Data(Rift infoEnum)+RIFTINFOSIZE*i+8);103 riftfront_fractionincrement=*(iomodel->Data(Rift infoEnum)+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); 104 104 riftfront_shelf=(bool)iomodel->Data(NodeOnIceShelfEnum)[node1-1]; 105 105 -
issm/trunk/src/m/classes/model.m
r9520 r9522 77 77 segments = modelfield('default',NaN,'marshall',false); 78 78 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); 81 80 riftproperties = modelfield('default',NaN,'marshall',false); 82 81 numrifts = modelfield('default',0,'marshall',true,'format','Integer'); -
issm/trunk/src/m/model/marshall.m
r9513 r9522 345 345 pos=find(in(:,end)==1); out(pos,end)=WaterEnum; 346 346 pos=find(in(:,end)==2); out(pos,end)=IceEnum; 347 348 function 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 26 26 fractions=zeros(md.numberofnodes,1); 27 27 28 %plug riftproperties fractions:29 fractions(md.riftinfo(:,1))=md.riftproperties;30 fractions(md.riftinfo(:,2))=md.riftproperties;31 32 28 %complete the tips. 33 29 for i=1:length(md.rifts), -
issm/trunk/src/m/model/presolve.m
r9381 r9522 16 16 end 17 17 18 numpairs=0;19 for i=1:md.numrifts,20 numpairs=numpairs+size(md.rifts(i).penaltypairs,1);21 end22 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 end36 37 18 %Control methods 38 19 md.num_control_type=numel(md.control_type);
Note:
See TracChangeset
for help on using the changeset viewer.