%Příklad čislo 7
%Model čislo 1
clc 
clear
numElements = 1; %Počet prutu stejného typu
numNodes = 6; %Počet uzlu
numDOFpernode =3; %Stupeň volnosti uzlu
numDOF = numNodes * numDOFpernode+2; %Stupeň volnosti celé konstrukce
K_global = zeros (numDOF, numDOF); %Globalní matice tuhosti
%Sestavení globalní matice tuhosti celé konstrukce
for i=1:numElements
   K_vector{i} = T_matice'*kloub_vetknuti*T_matice % uhel 270
   K_global ([1 2 3 4 5 6],[1 2 3 4 5 6]) = K_global ([1 2 3 4 5 6],[1 2 3 4 5 6])+K_vector{i}
        for j=1:numElements
           K_vector{j} = vetknuti_kloub
           K_global ([4 5 6 7 8 10],[4 5 6 7 8 10]) = K_global ([4 5 6 7 8 10],[4 5 6 7 8 10]) + K_vector{j} 
              for k=1:numElements
                 K_vector{k} = T_matice'*vetknuti_vetknuti*T_matice %uhel 90
                 K_global ([7 9 11 12 13 14],[7 9 11 12 13 14]) = K_global ([7 9 11 12 13 14],[7 9 11 12 13 14]) + K_vector{k}
                 for f=1:numElements
                     K_vector{f} = kloub_vetknuti
                     K_global ([7 8 10 15 16 17],[7 8 10 15 16 17]) = K_global ([7 8 10 15 16 17],[7 8 10 15 16 17]) + K_vector{f} 
                        for g=1:numElements
                            K_vector{g} =  T_matice'*vetknuti_kloub*T_matice %uhel 90
                            K_global ([15 16 17 18 19 20],[15 16 17 18 19 20]) = K_global ([15 16 17 18 19 20],[15 16 17 18 19 20]) + K_vector{g}
                        end
                 end
              end
        end
end


%Sestavení localního vektoru primarních koncových účinků
numqElements = 1;
R_local_prim = zeros (numDOF, 1);

for i=1:numqElements
   R_vector{i} = T_matice'*q_zatizeni_110_111 % uhel 270
   R_local_prim ([1 2 3 4 5 6],[1]) = R_local_prim ([1 2 3 4 5 6],[1]) + R_vector{i}   % localní souřadný system = globalní souřadný system
    for j=1:numqElements
     R_vector{j} = q_zatizeni_111_110
     R_local_prim ([4 5 6 7 8 10],[1]) = R_local_prim ([4 5 6 7 8 10],[1]) + R_vector{j}   % localní souřadný system = globalní souřadný system
         for k=1:numqElements
          R_vector{k} = q_zatizeni_110_111
          R_local_prim ([7 8 10 15 16 17],[1]) = R_local_prim ([7 8 10 15 16 17],[1]) + R_vector{j}   % localní souřadný system = globalní souřadný system
         end
    end
end

%Sestavení globalního vektoru uzlového zatížení
S_global= zeros (numDOF, 1);

%Sestavení vektoru pravé strany
F_global = S_global-R_local_prim;

%Vypočet neznamých parametrů deformaci
numDeformation = 10 % počet neznamých parametrů deformaci
K = zeros (numDeformation,numDeformation);

K ([1], [1 2 3 4 5 6 7 8 9 10]) = K_global ([4], [4 5 6 7 8 9 11 15 16 17]);
K ([2], [1 2 3 4 5 6 7 8 9 10]) = K_global ([5], [4 5 6 7 8 9 11 15 16 17]);
K ([3], [1 2 3 4 5 6 7 8 9 10]) = K_global ([6], [4 5 6 7 8 9 11 15 16 17]);
K ([4], [1 2 3 4 5 6 7 8 9 10]) = K_global ([7], [4 5 6 7 8 9 11 15 16 17]);
K ([5], [1 2 3 4 5 6 7 8 9 10]) = K_global ([8],[4 5 6 7 8 9 11 15 16 17]);
K ([6], [1 2 3 4 5 6 7 8 9 10]) = K_global ([9],[4 5 6 7 8 9 11 15 16 17]);
K ([7], [1 2 3 4 5 6 7 8 9 10]) = K_global ([11],[4 5 6 7 8 9 11 15 16 17]);
K ([8], [1 2 3 4 5 6 7 8 9 10]) = K_global ([15],[4 5 6 7 8 9 11 15 16 17]);
K ([9], [1 2 3 4 5 6 7 8 9 10]) = K_global ([16],[4 5 6 7 8 9 11 15 16 17]);
K ([10], [1 2 3 4 5 6 7 8 9 10]) = K_global ([17],[4 5 6 7 8 9 11 15 16 17]);

F = zeros(numDeformation,1);
F ([1],[1]) = R_local_prim ([4],[1]);
F ([2],[1]) = R_local_prim ([5],[1]);
F ([3],[1]) = R_local_prim ([6],[1]);
F ([4],[1]) = R_local_prim ([7],[1]);
F ([5],[1]) = R_local_prim ([8],[1]);
F ([6],[1]) = R_local_prim ([9],[1]);
F ([7],[1]) = R_local_prim ([11],[1]);
F ([8],[1]) = R_local_prim ([15],[1]);
F ([9],[1]) = R_local_prim ([16],[1]);
F ([10],[1]) = R_local_prim ([17],[1]);

r = zeros(numDeformation,1);
r(1:10) = K(1:10,1:10)\F(1:10)
