Home > fvcom_prepro > nodes2elems.m

nodes2elems

PURPOSE ^

Transfer a field from vertices to elements

SYNOPSIS ^

function fieldout = nodes2elems(fieldin,Mobj)

DESCRIPTION ^

 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).
   
==========================================================================

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Wed 20-Feb-2019 16:06:01 by m2html © 2005