0001 function [Kgg,pg]=SystemMatrices(elements,grids,loads,materials,kflag,pflag, sparsity,inputs,analysis_type);
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 dofcount=getdofcount(grids);
0012 Kgg={};
0013 pg={};
0014
0015
0016 [n1,n2]=GetNumberOfActiveElements(elements);
0017
0018 if kflag,
0019
0020
0021 Kgg=spalloc(dofcount,dofcount,floor(dofcount*dofcount*sparsity));
0022
0023
0024 for n=n1:n2,
0025
0026 if ~isempty(elements(n).element),
0027
0028 Ke=CreateKMatrix(elements(n).element,grids,materials,inputs,analysis_type);
0029
0030
0031 Kgg=AddElemMatrix(Ke,Kgg);
0032 end
0033
0034 end
0035
0036 else
0037 Kgg={};
0038 end
0039
0040 if pflag,
0041 pg=spalloc(dofcount,1,floor(dofcount*sparsity));
0042
0043
0044 for n=n1:n2,
0045
0046 if ~isempty(elements(n).element),
0047
0048 pe=CreatePVector(elements(n).element,grids,materials,inputs,analysis_type);
0049
0050
0051 pg=AddElemVector(pe,pg);
0052
0053 end
0054 end
0055
0056
0057 for l=1:length(loads),
0058 if ~isempty(loads(l).load),
0059
0060 pe=CreatePVector(loads(l).load,elements,grids,materials,inputs,analysis_type);
0061
0062
0063 pg=AddElemVector(pe,pg);
0064 end
0065 end
0066 else
0067 pg={};
0068 end