Changeset 3099


Ignore:
Timestamp:
02/23/10 16:09:26 (15 years ago)
Author:
Mathieu Morlighem
Message:

Now pressure load has one extra column

Location:
issm/trunk/src/m
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/collapse.m

    r2689 r3099  
    6767%in 2d, segmentonnumann is: [grid1 grid2 element]
    6868numberofneumann2d=size(md.pressureload,1)/md.numlayers;
    69 md.pressureload=[md.pressureload(1:numberofneumann2d,1:2) md.pressureload(1:numberofneumann2d,5)]; %Add two columns on the first layer
     69md.pressureload=[md.pressureload(1:numberofneumann2d,1:2) md.pressureload(1:numberofneumann2d,5:6)]; %Add two columns on the first layer
    7070
    7171%materials
  • issm/trunk/src/m/classes/public/extrude.m

    r2521 r3099  
    185185%Extrusion of Neumann BC
    186186%in 3d, segmentonnumann is: [grid1 grid2 grid3 grid4 element]
    187 oldpressureload=md.pressureload;
    188 pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)]; %Add two columns on the first layer
     187pressureload_layer1=[md.pressureload(:,1:2)  md.pressureload(:,2)+md.numberofgrids2d  md.pressureload(:,1)+md.numberofgrids2d  md.pressureload(:,3:4)]; %Add two columns on the first layer
    189188pressureload=[];
    190189for i=1:numlayers-1,
    191         pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];
     190        pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d pressureload_layer1(:,6)];
    192191end
    193192
  • issm/trunk/src/m/classes/public/geography2.m

    r2986 r3099  
    160160md.elementonicesheet=elementonicesheet;
    161161
    162 md.pressureload=segments;
    163162md.counter=2;
    164163md.segmentmarkers(:)=1;
  • issm/trunk/src/m/classes/public/ismodelselfconsistent.m

    r3055 r3099  
    7676if strcmpi(md.type,'2d'),
    7777        fields={'pressureload'};
    78         checksize(md,fields,[NaN 3]);
     78        checksize(md,fields,[NaN 4]);
    7979elseif strcmpi(md.type,'3d'),
    8080        fields={'pressureload'};
    81         checksize(md,fields,[NaN 5]);
     81        checksize(md,fields,[NaN 6]);
    8282end
    8383
  • issm/trunk/src/m/classes/public/modelextract.m

    r2988 r3099  
    198198                md2.pressureload(:,1)=Pgrid(md1.pressureload(:,1));
    199199                md2.pressureload(:,2)=Pgrid(md1.pressureload(:,2));
    200                 md2.pressureload(:,end)=Pelem(md1.pressureload(:,end));
     200                md2.pressureload(:,end-1)=Pelem(md1.pressureload(:,end-1));
    201201                if strcmpi(md1.type,'3d')
    202202                        md2.pressureload(:,3)=Pgrid(md1.pressureload(:,3));
  • issm/trunk/src/m/classes/public/plot/plot_pressureload.m

    r2513 r3099  
    2222
    2323        %highlight elements on neumann in Green
    24         pos=pressureload(:,end);
     24        pos=pressureload(:,end-1);
    2525        A=elements(pos,1); B=elements(pos,2); C=elements(pos,3);
    2626        h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
     
    2828
    2929        %display arrows pointing outward
    30         xstart=mean(x(pressureload(:,1:end-1)),2);
    31         ystart=mean(y(pressureload(:,1:end-1)),2);
     30        xstart=mean(x(pressureload(:,1:end-2)),2);
     31        ystart=mean(y(pressureload(:,1:end-2)),2);
    3232        length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 );
    3333        normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
     
    4949
    5050        %highlight elements on neumann in Green
    51         pos=pressureload(:,end);
     51        pos=pressureload(:,end-1);
    5252        A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
    5353        h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
     
    5959
    6060        %display arrows pointing outward
    61         xstart=mean(x(pressureload(:,1:end-1)),2);
    62         ystart=mean(y(pressureload(:,1:end-1)),2);
    63         zstart=mean(z(pressureload(:,1:end-1)),2);
     61        xstart=mean(x(pressureload(:,1:end-2)),2);
     62        ystart=mean(y(pressureload(:,1:end-2)),2);
     63        zstart=mean(z(pressureload(:,1:end-2)),2);
    6464        length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 );
    6565        normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
  • issm/trunk/src/m/utils/BC/SetIceSheetBC.m

    r2330 r3099  
    2222%segment on neumann (Ice Front) -> none
    2323if strcmpi(md.type,'2d')
    24         md.pressureload=zeros(0,3);
     24        md.pressureload=zeros(0,4);
    2525else
    26         md.pressureload=zeros(0,5);
     26        md.pressureload=zeros(0,6);
    2727end
    2828
  • issm/trunk/src/m/utils/BC/SetIceShelfBC.m

    r2330 r3099  
    3333
    3434%segment on Ice Front
     35%segment on Neumann (Ice Front)
    3536pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
    36 pressureload=md.segments(pos,:);
    37 if strcmpi(md.type,'3d')
    38         oldpressureload=pressureload;
    39         pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
     37if strcmpi(md.type,'2d')
     38        pressureload=md.segments(pos,:);
     39elseif strcmpi(md.type,'3d')
     40        pressureload_layer1=[md.segments(pos,1:2)  md.segments(pos,2)+md.numberofgrids2d  md.segments(pos,1)+md.numberofgrids2d  md.segments(pos,3)];
    4041        pressureload=[];
    4142        for i=1:md.numlayers-1,
     
    4344        end
    4445end
     46
     47%Add water or air enum depending on the element
     48pressureload=[pressureload WaterEnum*md.elementoniceshelf(pressureload(:,end))];
     49
     50%plug onto model
    4551md.pressureload=pressureload;
    4652
  • issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m

    r2330 r3099  
    4646%segment on Neumann (Ice Front)
    4747pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
    48 pressureload=md.segments(pos,:);
    49 if strcmpi(md.type,'3d')
    50         oldpressureload=pressureload;
    51         pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
     48if strcmpi(md.type,'2d')
     49        pressureload=md.segments(pos,:);
     50elseif strcmpi(md.type,'3d')
     51        pressureload_layer1=[md.segments(pos,1:2)  md.segments(pos,2)+md.numberofgrids2d  md.segments(pos,1)+md.numberofgrids2d  md.segments(pos,3)];
    5252        pressureload=[];
    5353        for i=1:md.numlayers-1,
     
    5555        end
    5656end
     57
     58%Add water or air enum depending on the element
     59pressureload=[pressureload WaterEnum*md.elementoniceshelf(pressureload(:,end))+AirEnum*md.elementonicesheet(pressureload(:,end))];
     60
     61%plug onto model
    5762md.pressureload=pressureload;
    5863
Note: See TracChangeset for help on using the changeset viewer.