source: issm/trunk/src/m/model/project2d.m@ 9783

Last change on this file since 9783 was 9783, checked in by xinl3, 14 years ago

updated some names

File size: 1.4 KB
RevLine 
[2824]1function projection_value=project2d(md3d,value,layer)
[1]2%PROJECT2D - returns the value of a field for a given layer of the mesh
3%
4% project 'value' vector taken at layer 'layer' from extruded 2d-3d mesh onto 2d mesh
5% used to do the extrusion. This routine is used to compare values between a 2d-3d mesh
6% at a certain layer, and the equivalent value (if it exists), on the original 2d mesh.
7% This routine relies heavily on projections (contained in 3d model md) recored during
8% the extrude operation.
9%
10% Usage:
[2824]11% projection_value=project2d(md3d,value,layer)
[1]12%
13% Example:
[2824]14% vel2=project2d(md3d,md3d.vel,2);
[1]15
16%some checks on list of arguments
17if ((nargin~=3) ),
[2687]18 help project2d
[1]19 error('project2d error message');
20end
21
[9725]22if (md3d.mesh.dimension~=3),
[1]23 error('wrong model type ... should be ''3d''');
24end
25
[9725]26if ((layer<1) | (layer>md3d.mesh.numberoflayers)),
[2824]27 error(['layer must be between 1 and ' num2str(md3d.numlayers)]);
[1]28end
29
[9783]30if size(value,1)==md3d.mesh.numberofvertices,
[9725]31 projection_value=value((layer-1)*md3d.mesh.numberofvertices2d+1:layer*md3d.mesh.numberofvertices2d,:);
[9783]32elseif size(value,1)==md3d.mesh.numberofvertices+1,
[9725]33 projection_value=[value((layer-1)*md3d.mesh.numberofvertices2d+1:layer*md3d.mesh.numberofvertices2d,:); value(end,:)];
[1]34else
[9725]35 projection_value=value((layer-1)*md3d.mesh.numberofelements2d+1:layer*md3d.mesh.numberofelements2d,:);
[1]36end
Note: See TracBrowser for help on using the repository browser.