FEM-Course-Matlab/16.几何非线性有限元matlab编程/几何非线性有限元-Williams frame/solveLinearSystem.m

15 lines
407 B
Matlab

function D = solveLinearSystem(Model,K,P)
% Partition system of equations
% [ Kff Kfs ] * [ Df ] = [ Pf ]
% [ Ksf Kss ] [ Ds ] = [ Ps ]
Kff = K(1:Model.neqf,1:Model.neqf);
Pf = P(1:Model.neqf); %自由节点对应的自由度
Ds = zeros(Model.neqc,1);%被约束的自由度
% Solve for Df
Df = Kff\Pf;
% Reconstruct the global unknown vector D
D = [Df;Ds];
end