


Transfer a field from vertices to elements
function [fieldout] = nodes2elems(fieldin,Mobj)
DESCRIPTION:
Smooth a vertex based field
INPUT
Mobj = Matlab mesh object
fieldin = vertex-based field
OUTPUT:
fieldout = element-based field
EXAMPLE USAGE
f = smoothfield(fv,Mobj)
Author(s):
Geoff Cowles (University of Massachusetts Dartmouth)
Revision history
==============================================================================

0001 function [fieldout] = nodes2elems(fieldin,Mobj) 0002 0003 % Transfer a field from vertices to elements 0004 % 0005 % function [fieldout] = nodes2elems(fieldin,Mobj) 0006 % 0007 % DESCRIPTION: 0008 % Smooth a vertex based field 0009 % 0010 % INPUT 0011 % Mobj = Matlab mesh object 0012 % fieldin = vertex-based field 0013 % 0014 % OUTPUT: 0015 % fieldout = element-based field 0016 % 0017 % EXAMPLE USAGE 0018 % f = smoothfield(fv,Mobj) 0019 % 0020 % Author(s): 0021 % Geoff Cowles (University of Massachusetts Dartmouth) 0022 % 0023 % Revision history 0024 % 0025 %============================================================================== 0026 subname = 'nodes2elems'; 0027 global ftbverbose; 0028 if(ftbverbose); 0029 fprintf('\n') 0030 fprintf(['begin : ' subname '\n']) 0031 end; 0032 0033 %------------------------------------------------------------------------------ 0034 % Parse input 0035 %------------------------------------------------------------------------------ 0036 0037 if(exist('fieldin')*exist('Mobj') == 0) 0038 error('arguments to nodes2elems are missing') 0039 end; 0040 0041 if(length(fieldin) ~= Mobj.nVerts) 0042 error('field size in nodes2elems is not the same as number of nodes in Mesh') 0043 end; 0044 0045 %------------------------------------------------------------------------------ 0046 % Tranfser 0047 %------------------------------------------------------------------------------ 0048 fieldout = zeros(Mobj.nElems,1); 0049 0050 for i=1:Mobj.nElems 0051 fieldout(i) = sum(fieldin(Mobj.tri(i,1:3)))/3.; 0052 end; 0053 0054 0055 if(ftbverbose); 0056 fprintf(['end : ' subname '\n']) 0057 end; 0058