Changeset 2823
- Timestamp:
- 01/13/10 16:19:46 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/project3d.m
r1 r2823 1 function projected_vector=project3d(md ,vector2d,type,varargin);1 function projected_vector=project3d(md3d,vector2d,type,varargin); 2 2 %PROJECT3D - vertically project a vector from 2d mesh 3 3 % 4 4 % vertically project a vector from 2d mesh (split in noncoll and coll areas) into a 3d mesh. 5 % This vector can be a grid vector of size (md .numberofgrids2d,N/A) or an6 % element vector of size (md .numberofelements2d,N/A).5 % This vector can be a grid vector of size (md3d.numberofgrids2d,N/A) or an 6 % element vector of size (md3d.numberofelements2d,N/A). 7 7 % type is 'element' or 'node'. layer an optional layer number where vector 8 8 % should keep its values. If not specified, all layers adopt the value of the … … 10 10 % 11 11 % Usage: 12 % extruded_vector=project3d(md ,vector2d,type,layer);12 % extruded_vector=project3d(md3d,vector2d,type,layer); 13 13 14 14 if nargin==4, 15 15 layer=varargin{1}; 16 if ((layer<1) || (layer>md .numlayers)),17 error(['project3d error message: layer shoud be between 1 and ' num2str(md .numlayers)]);16 if ((layer<1) || (layer>md3d.numlayers)), 17 error(['project3d error message: layer shoud be between 1 and ' num2str(md3d.numlayers)]); 18 18 end 19 19 else … … 23 23 if strcmpi(type,'node'), 24 24 25 projected_vector=zeros(md .numberofgrids,size(vector2d,2));25 projected_vector=zeros(md3d.numberofgrids,size(vector2d,2)); 26 26 27 27 if layer==0, 28 for i=1:md .numlayers,29 projected_vector(((i-1)*md .numberofgrids2d+1):(i*md.numberofgrids2d),:)=vector2d;28 for i=1:md3d.numlayers, 29 projected_vector(((i-1)*md3d.numberofgrids2d+1):(i*md3d.numberofgrids2d),:)=vector2d; 30 30 end 31 31 else 32 projected_vector(((layer-1)*md .numberofgrids2d+1):(layer*md.numberofgrids2d),:)=vector2d;32 projected_vector(((layer-1)*md3d.numberofgrids2d+1):(layer*md3d.numberofgrids2d),:)=vector2d; 33 33 end 34 34 else 35 35 36 projected_vector=zeros(md .numberofelements,size(vector2d,2));36 projected_vector=zeros(md3d.numberofelements,size(vector2d,2)); 37 37 38 38 if layer==0, 39 for i=1:(md .numlayers-1),40 projected_vector( ((i-1)*md .numberofelements2d+1):(i*md.numberofelements2d),:)=vector2d;39 for i=1:(md3d.numlayers-1), 40 projected_vector( ((i-1)*md3d.numberofelements2d+1):(i*md3d.numberofelements2d),:)=vector2d; 41 41 end 42 42 43 43 else 44 projected_vector( ((layer-1)*md .numberofelements2d+1):(layer*md.numberofelements2d),:)=vector2d;44 projected_vector( ((layer-1)*md3d.numberofelements2d+1):(layer*md3d.numberofelements2d),:)=vector2d; 45 45 end 46 46 end
Note:
See TracChangeset
for help on using the changeset viewer.