Changeset 1797


Ignore:
Timestamp:
08/24/09 09:53:34 (16 years ago)
Author:
Mathieu Morlighem
Message:

SetBC now works in 3d

Location:
issm/trunk/src/m/utils/BC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/utils/BC/SetIceSheetBC.m

    r1777 r1797  
    2121
    2222%segment on neumann (Ice Front) -> none
    23 md.pressureload=zeros(0,3);
     23if strcmpi(md.type,'2d')
     24        md.pressureload=zeros(0,3);
     25else
     26        md.pressureload=zeros(0,5);
     27end
    2428
    2529%Create zeros melting and accumulation if not specified
  • issm/trunk/src/m/utils/BC/SetIceShelfBC.m

    r1777 r1797  
    3434%segment on Ice Front
    3535pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
    36 md.pressureload=md.segments(pos,:);
     36pressureload=md.segments(pos,:);
     37if strcmpi(md.type,'3d')
     38        oldpressureload=pressureload;
     39        pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
     40        pressureload=[];
     41        for i=1:md.numlayers-1,
     42                pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];
     43        end
     44end
     45md.pressureload=pressureload;
    3746
    3847%Create zeros melting and accumulation if not specified
  • issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m

    r1777 r1797  
    4646%segment on Neumann (Ice Front)
    4747pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
    48 md.pressureload=md.segments(pos,:);
     48pressureload=md.segments(pos,:);
     49if strcmpi(md.type,'3d')
     50        oldpressureload=pressureload;
     51        pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
     52        pressureload=[];
     53        for i=1:md.numlayers-1,
     54                pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];
     55        end
     56end
     57md.pressureload=pressureload;
    4958
    5059%Create zeros melting and accumulation if not specified
Note: See TracChangeset for help on using the changeset viewer.