0001 function projected_vector=project3d(md,vector2d,type,varargin);
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 if nargin==4,
0015 layer=varargin{1};
0016 if ((layer<1) || (layer>md.numlayers)),
0017 error(['project3d error message: layer shoud be between 1 and ' num2str(md.numlayers)]);
0018 end
0019 else
0020 layer=0;
0021 end
0022
0023 if strcmpi(type,'node'),
0024
0025 projected_vector=zeros(md.numberofgrids,size(vector2d,2));
0026
0027 if layer==0,
0028 for i=1:md.numlayers,
0029 projected_vector(((i-1)*md.numberofgrids2d+1):(i*md.numberofgrids2d),:)=vector2d;
0030 end
0031 else
0032 projected_vector(((layer-1)*md.numberofgrids2d+1):(layer*md.numberofgrids2d),:)=vector2d;
0033 end
0034 else
0035
0036 projected_vector=zeros(md.numberofelements,size(vector2d,2));
0037
0038 if layer==0,
0039 for i=1:(md.numlayers-1),
0040 projected_vector( ((i-1)*md.numberofelements2d+1):(i*md.numberofelements2d),:)=vector2d;
0041 end
0042
0043 else
0044 projected_vector( ((layer-1)*md.numberofelements2d+1):(layer*md.numberofelements2d),:)=vector2d;
0045 end
0046 end