GetL

PURPOSE ^

GETL - compute L matrix for a diagnostic

SYNOPSIS ^

function L=GetL(triaelem,gauss_l1l2l3,numdof)

DESCRIPTION ^

GETL - compute L matrix for a diagnostic 

Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof. 
For grid i, Li can be expressed in the basic coordinate system by:

   numdof=1: 
   Li_basic=h;

   numdof=2:
   Li_basic=[ h    0  ]
            [   0   h ]
   numdof=4:
   Li_basic=[ h    0     0    0 ]
            [ 0    h     0    0 ]
            [ 0    0     0    0 ]
            [ 0    0     0    0 ]
   where h is the interpolation function for grid i.

   Usage:
      L=GetL(triaelem,gauss_l1l2l3,numdof)

   See also CREATEKMATRIX, GETLSTOKES, GETLPRIMESTOKES

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function L=GetL(triaelem,gauss_l1l2l3,numdof)
0002 %GETL - compute L matrix for a diagnostic
0003 %
0004 %Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof.
0005 %For grid i, Li can be expressed in the basic coordinate system by:
0006 %
0007 %   numdof=1:
0008 %   Li_basic=h;
0009 %
0010 %   numdof=2:
0011 %   Li_basic=[ h    0  ]
0012 %            [   0   h ]
0013 %   numdof=4:
0014 %   Li_basic=[ h    0     0    0 ]
0015 %            [ 0    h     0    0 ]
0016 %            [ 0    0     0    0 ]
0017 %            [ 0    0     0    0 ]
0018 %   where h is the interpolation function for grid i.
0019 %
0020 %   Usage:
0021 %      L=GetL(triaelem,gauss_l1l2l3,numdof)
0022 %
0023 %   See also CREATEKMATRIX, GETLSTOKES, GETLPRIMESTOKES
0024 
0025 num_grids=3;
0026 
0027 %Get l1l2l3 in basic coordinate system:
0028 l1l2l3=GetNodalFunctions(triaelem,gauss_l1l2l3);
0029 
0030 %Build L:
0031 if numdof==1,
0032     L=zeros(1,num_grids);
0033     for i=1:num_grids,
0034         L(i)=l1l2l3(i);
0035     end
0036 elseif numdof==2,
0037     L=zeros(numdof,numdof*num_grids);
0038 
0039     for i=1:num_grids,
0040         L(1,numdof*(i-1)+1)=l1l2l3(i); 
0041         L(1,numdof*(i-1)+2)=0;
0042 
0043         L(2,numdof*(i-1)+1)=0;
0044         L(2,numdof*(i-1)+2)=l1l2l3(i);
0045     end
0046 elseif numdof==4,
0047     L=zeros(4,numdof*num_grids);
0048 
0049     for i=1:num_grids,
0050         L(1,numdof*(i-1)+1)=l1l2l3(i); 
0051         L(1,numdof*(i-1)+2)=0;
0052         L(1,numdof*(i-1)+3)=0;
0053         L(1,numdof*(i-1)+4)=0;
0054 
0055         L(2,numdof*(i-1)+1)=0;
0056         L(2,numdof*(i-1)+2)=l1l2l3(i);
0057         L(2,numdof*(i-1)+3)=0;
0058         L(2,numdof*(i-1)+4)=0;
0059 
0060         L(3,numdof*(i-1)+1)=0;
0061         L(3,numdof*(i-1)+2)=0;
0062         L(3,numdof*(i-1)+3)=0;
0063         L(3,numdof*(i-1)+4)=0;
0064 
0065         L(4,numdof*(i-1)+1)=0;
0066         L(4,numdof*(i-1)+2)=0;
0067         L(4,numdof*(i-1)+3)=0;
0068         L(4,numdof*(i-1)+4)=0;
0069     end
0070 end

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003