PenaltySystemMatrices

PURPOSE ^

PENALTYSYSTEMMATRICES - add penalties to the stiffness matrix and load vector

SYNOPSIS ^

function [Kgg,Pg,kmax]=PenaltySystemMatrices(grids,loads,materials,kflag,pflag, sparsity,inputs,analysis_type,Kgg,Pg);

DESCRIPTION ^

PENALTYSYSTEMMATRICES - add penalties to the stiffness matrix and load vector

   Usage:
      [Kgg,Pg,kmax]=PenaltySystemMatrices(grids,loads,materials,kflag,pflag, sparsity,inputs,analysis_type,Kgg,Pg)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [Kgg,Pg,kmax]=PenaltySystemMatrices(grids,loads,materials,kflag,pflag, sparsity,inputs,analysis_type,Kgg,Pg);
0002 %PENALTYSYSTEMMATRICES - add penalties to the stiffness matrix and load vector
0003 %
0004 %   Usage:
0005 %      [Kgg,Pg,kmax]=PenaltySystemMatrices(grids,loads,materials,kflag,pflag, sparsity,inputs,analysis_type,Kgg,Pg)
0006 
0007 %Get stiffness matrix maximum magnitude
0008 kmax=max(max(abs(Kgg)));
0009 
0010 if kflag, 
0011     
0012     %Go through loads capable of generating stiffnesses (penalties)
0013     for l=1:length(loads),
0014         
0015         if ~isempty(loads(l).load),
0016             %call load system matrix generation.
0017             Kpenalty=PenaltyCreateKMatrix(loads(l).load,grids,materials,inputs,analysis_type,kmax);
0018             
0019             %plug element system matrix into global system matrix.
0020             Kgg=AddElemMatrix(Kpenalty,Kgg);
0021         end
0022     end
0023 
0024 else
0025     Kgg={};
0026 end
0027 
0028 if pflag, 
0029 
0030     %Go through loads created by penlties
0031     for l=1:length(loads),
0032         if ~isempty(loads(l).load),
0033             %Call vector matrix generation
0034             Ppenalty=PenaltyCreatePVector(loads(l).load,grids,materials,inputs,analysis_type,kmax);
0035             
0036             %plug load contribution into load vector
0037             Pg=AddElemVector(Ppenalty,Pg);
0038         end
0039     end
0040 else 
0041     Pg={};
0042 end

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