


Transfer a field from vertices to elements
function fieldout = nodes2elems(fieldin, Mobj)
DESCRIPTION:
Transfer a field from vertices (nodes) to elements
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)
Pierre Cazenave (Plymouth Marine Laboratory)
Revision history
2014-03-10 Made the calculation array-based instead of loop-based
(increases performance).
==========================================================================

0001 function fieldout = nodes2elems(fieldin,Mobj) 0002 % Transfer a field from vertices to elements 0003 % 0004 % function fieldout = nodes2elems(fieldin, Mobj) 0005 % 0006 % DESCRIPTION: 0007 % Transfer a field from vertices (nodes) to elements 0008 % 0009 % INPUT 0010 % Mobj = Matlab mesh object 0011 % fieldin = vertex-based field 0012 % 0013 % OUTPUT: 0014 % fieldout = element-based field 0015 % 0016 % EXAMPLE USAGE 0017 % f = smoothfield(fv, Mobj) 0018 % 0019 % Author(s): 0020 % Geoff Cowles (University of Massachusetts Dartmouth) 0021 % Pierre Cazenave (Plymouth Marine Laboratory) 0022 % 0023 % Revision history 0024 % 2014-03-10 Made the calculation array-based instead of loop-based 0025 % (increases performance). 0026 % 0027 %========================================================================== 0028 0029 subname = 'nodes2elems'; 0030 0031 global ftbverbose 0032 if ftbverbose 0033 fprintf('\nbegin : %s \n', subname) 0034 end 0035 0036 %-------------------------------------------------------------------------- 0037 % Parse input 0038 %-------------------------------------------------------------------------- 0039 0040 if exist('fieldin', 'var') ~= 1 || exist('Mobj', 'var') ~= 1 0041 error('arguments to nodes2elems are missing') 0042 end 0043 0044 if length(fieldin) ~= Mobj.nVerts 0045 error('field size in nodes2elems is not the same as number of nodes in Mesh') 0046 end 0047 0048 %-------------------------------------------------------------------------- 0049 % Tranfser 0050 %-------------------------------------------------------------------------- 0051 0052 fieldout = mean(fieldin(Mobj.tri), 2); 0053 0054 if ftbverbose 0055 fprintf('end : %s \n', subname) 0056 end