Changeset 1241


Ignore:
Timestamp:
07/07/09 07:30:58 (16 years ago)
Author:
Mathieu Morlighem
Message:

Extended BasinConstrain to 3d models

Location:
issm/trunk/src/m/classes/public
Files:
3 edited

Legend:

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

    r1239 r1241  
    2727                %make sure that we actually don't want the elements outside the domain outline!
    2828                if strcmpi(domain(1),'~'),
    29                         domain=domain(2:length(domain));
     29                        domain=domain(2:end);
    3030                        invert=1;
    3131                else
     
    3333                end
    3434                %ok, flag elements and nodes
    35                 [gridondomain elementondomain]=ContourToMesh(md.elements,md.x,md.y,expread(domain,1),'element and node',2);
     35                [gridondomain elementondomain]=ContourToMesh(md.elements(:,1:3),md.x,md.y,expread(domain,1),'element and node',2);
    3636        end
    3737        if invert,
  • issm/trunk/src/m/classes/public/extrude.m

    r1240 r1241  
    1818%some checks on list of arguments
    1919if ((nargin~=3) | (nargout~=1)),
    20         extrudeusage();
     20        help extrude;
    2121        error('extrude error message');
    2222end
    2323
    2424if md.counter<3,
    25         extrudeusage();
     25        help extrude;
    2626        error('only fully parameterized 2d models can be extruded');
    2727end
     
    3232
    3333if numlayers<2,
    34         extrudeusage();
     34        help extrude;
    3535        error('number of layers should be at least 2');
    3636end
    3737
    3838if extrusionexponent<0,
    39         extrudeusage();
     39        help extrude;
    4040        error('extrusionexponent must be >0');
    4141end
     
    177177md.elementonicesheet=project3d(md,md.elementonicesheet,'element');
    178178md.gridonicesheet=project3d(md,md.gridonicesheet,'node');
     179md.elementonwater=project3d(md,md.elementonwater,'element');
     180md.gridonwater=project3d(md,md.gridonwater,'node');
    179181
    180182%special for thermal modeling:
     
    191193%increase connectivity if less than 25:
    192194if md.connectivity<25,
    193         md.connectivity=25;
     195        md.connectivity=48;
    194196end
    195197
    196198%augment counter  keeping track of what has been done to this model
    197199md.counter=4;
    198 
    199 end
    200 
    201 function extrudeusage(),
    202 disp('INPUT function md=extrude(md,numlayers,extrusionexponent) ');
    203 disp('     vertically extrude a 2d mesh and create corresponding 3d mesh,  ');
    204 disp('     the vertical distribution follows a polynomial law:');
    205 disp('          extrusionexponent>1  refinement at the base');
    206 disp('        0<extrusionexponent<1  refinement at the surface');
    207 disp('          extrusionexponent=1  linear extrusion');
    208 end
  • issm/trunk/src/m/classes/public/modelextract.m

    r682 r1241  
    2121%some checks on list of arguments
    2222if ((nargin~=2) | (nargout~=1)),
    23         error('modelextract error message');
    24 end
    25 package='Ice';
     23        help modelextract
     24        error('modelextract error message: bad usage');
     25end
     26if strcmpi(md.type,'3d'),
     27        error('modelextract error message: only 2d model supported yet. Use BasinConstrain instead');
     28end
     29
     30
    2631
    2732%first
Note: See TracChangeset for help on using the changeset viewer.