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:
    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
   
==============================================================================

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Tue 18-Dec-2012 12:37:31 by m2html © 2005