Builduset

PURPOSE ^

BUILDUSET builduset(bgpdt, bgpdtb)

SYNOPSIS ^

function uset=builduset( bgpdt, bgpdtb,analysis);

DESCRIPTION ^

 BUILDUSET builduset(bgpdt, bgpdtb)

 Builds the uset table from the bgpdt table. 

 Input:     bgpdt, bgpdtb      pointer to bgpdt table on data base
           analysis: analysis type, string

 Output:     uset         structure of partitioning vectors and its sizes
                        in global Matlab workspace

 Calls  Upartn (mex)
 where ms= m-script, mf= m-function, mex= executable function (c-code)

 This function is called after the uset bits in the bgpdt table have been
 determined, e.g. after Gp4 or after Gpsp.

 The uset table is a matlab structure containing     

 uset.pv_g        g-set partitioning vector
 uset.gsize     size of the g-set
 uset.pv_n        n-set partitioning vector with respect to (wrt) the g-set
 uset.nsize     size of the n-set
 uset.pv_m      m-set partitioning vector wrt the g-set
 uset.msize      size of the m-set
 uset.pv_s      s-set partitioning vector wrt the n-set
 uset.ssize    size of the s-set
 uset.pv_f      f-set partitioning vector wrt the n-set
 etc.

 The sets have the following hierarchy

 p - e       p = e + g    p= physical dof, e= extra point dofs
   - g - m           g= n + m   g= grid dofs,  m= multi-point constraint dofs
       - n - s          n= f + s   n= dofs not constr.by m, s= single-point constr.dofs
           - f - o         f= a + o   f= free dofs, o= omitted dofs
               - a - q        a= t + q   a= assembled dofs, q= generalized modal dofs   
                   - t - r       t= l + r  t= total dofs, r= rigid body dofs
                       - l - c      l= c + b + lm   l= left-over dofs, c= free dofs,
                           - b                      b= fixed dofs for modal reduction,
                           - lm                     lm= Lagrange multipliers.

 any combination of sets can be constructed, e.g.
 d= a + e    d= dynamic dofs

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function uset=builduset( bgpdt, bgpdtb,analysis);
0002 % BUILDUSET builduset(bgpdt, bgpdtb)
0003 %
0004 % Builds the uset table from the bgpdt table.
0005 %
0006 % Input:     bgpdt, bgpdtb      pointer to bgpdt table on data base
0007 %           analysis: analysis type, string
0008 %
0009 % Output:     uset         structure of partitioning vectors and its sizes
0010 %                        in global Matlab workspace
0011 %
0012 % Calls  Upartn (mex)
0013 % where ms= m-script, mf= m-function, mex= executable function (c-code)
0014 %
0015 % This function is called after the uset bits in the bgpdt table have been
0016 % determined, e.g. after Gp4 or after Gpsp.
0017 %
0018 % The uset table is a matlab structure containing
0019 %
0020 % uset.pv_g        g-set partitioning vector
0021 % uset.gsize     size of the g-set
0022 % uset.pv_n        n-set partitioning vector with respect to (wrt) the g-set
0023 % uset.nsize     size of the n-set
0024 % uset.pv_m      m-set partitioning vector wrt the g-set
0025 % uset.msize      size of the m-set
0026 % uset.pv_s      s-set partitioning vector wrt the n-set
0027 % uset.ssize    size of the s-set
0028 % uset.pv_f      f-set partitioning vector wrt the n-set
0029 % etc.
0030 %
0031 % The sets have the following hierarchy
0032 %
0033 % p - e       p = e + g    p= physical dof, e= extra point dofs
0034 %   - g - m           g= n + m   g= grid dofs,  m= multi-point constraint dofs
0035 %       - n - s          n= f + s   n= dofs not constr.by m, s= single-point constr.dofs
0036 %           - f - o         f= a + o   f= free dofs, o= omitted dofs
0037 %               - a - q        a= t + q   a= assembled dofs, q= generalized modal dofs
0038 %                   - t - r       t= l + r  t= total dofs, r= rigid body dofs
0039 %                       - l - c      l= c + b + lm   l= left-over dofs, c= free dofs,
0040 %                           - b                      b= fixed dofs for modal reduction,
0041 %                           - lm                     lm= Lagrange multipliers.
0042 %
0043 % any combination of sets can be constructed, e.g.
0044 % d= a + e    d= dynamic dofs
0045 
0046 %
0047 % Go down the set hierarchy and fill the structure
0048 % note that the order m - s - o - q - r must be kept, the m- and n-set partitioning
0049 % vector are wrt the g-set, the s- and f-set partitioning vectors are wrt the n-set,
0050 % etc.
0051 %
0052 
0053 % split g into m and n
0054 
0055 [uset.pv_m, uset.pv_n]= Upartn( bgpdt, bgpdtb,analysis, 'g', 'm', 'n');
0056 uset.msize= length(uset.pv_m);
0057 uset.nsize= length(uset.pv_n);
0058 uset.gsize= uset.msize + uset.nsize;
0059 
0060 % split n into s and f
0061 
0062 [uset.pv_s, uset.pv_f]= Upartn( bgpdt, bgpdtb,analysis, 'n', 's', 'f');
0063 uset.ssize= length(uset.pv_s);
0064 uset.fsize= length(uset.pv_f);
0065 
0066 % split f into o and a
0067 
0068 [uset.pv_o, uset.pv_a]= Upartn( bgpdt, bgpdtb,analysis, 'f', 'o', 'a');
0069 uset.osize= length(uset.pv_o);
0070 uset.asize= length(uset.pv_a);
0071 
0072 % split a into q and t
0073 
0074 [uset.pv_q, uset.pv_t]= Upartn( bgpdt, bgpdtb,analysis, 'a', 'q', 't');
0075 uset.qsize= length(uset.pv_q);
0076 uset.tsize= length(uset.pv_t);
0077 
0078 % split t into r and l
0079 
0080 [uset.pv_r, uset.pv_l]= Upartn( bgpdt, bgpdtb,analysis, 't', 'r', 'l');
0081 uset.rsize= length(uset.pv_r);
0082 uset.lsize= length(uset.pv_l);

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