%Příklad čislo 6
%Model čislo 2
clc 
clear
numElements = 1; %Počet prutu stejného typu
numNodes = 6; %Počet uzlu
numDOFpernode =3; %Stupeň volnosti uzlu
numDOF = numNodes * numDOFpernode+1; %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_kloub*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} = kloub_vetknuti
           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'*posuvne_vetknuti_vetknuti*T_matice %uhel 90
                 K_global ([7 9 10 11 12 13],[7 9 10 11 12 13]) = K_global ([7 9 10 11 12 13],[7 9 10 11 12 13]) + K_vector{k}
                 for f=1:numElements
                     K_vector{f} = vetknuti_kloub
                     K_global ([7 8 10 14 15 16],[7 8 10 14 15 16]) = K_global ([7 8 10 14 15 16],[7 8 10 14 15 16]) + K_vector{f} 
                        for g=1:numElements
                            K_vector{g} =  T_matice'*kloub_kloub*T_matice %uhel 90
                            K_global ([14 15 16 17 18 19],[14 15 16 17 18 19]) = K_global ([14 15 16 17 18 19],[14 15 16 17 18 19]) + 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_110 % 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_110_111
     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_111_110
          R_local_prim ([7 8 10 14 15 16],[1]) = R_local_prim ([7 8 10 14 15 16],[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 = 7 % počet neznamých parametrů deformaci
K = zeros (numDeformation,numDeformation);

K ([1], [1 2 3 4 5 6 7]) = K_global ([4], [4 5 7 8 10 14 15]);
K ([2], [1 2 3 4 5 6 7]) = K_global ([5], [4 5 7 8 10 14 15]);
K ([3], [1 2 3 4 5 6 7]) = K_global ([7], [4 5 7 8 10 14 15]);
K ([4], [1 2 3 4 5 6 7]) = K_global ([8], [4 5 7 8 10 14 15]);
K ([5], [1 2 3 4 5 6 7]) = K_global ([10],[4 5 7 8 10 14 15]);
K ([6], [1 2 3 4 5 6 7]) = K_global ([14],[4 5 7 8 10 14 15]);
K ([7], [1 2 3 4 5 6 7]) = K_global ([15],[4 5 7 8 10 14 15]);

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 ([7],[1]);
F ([4],[1]) = R_local_prim ([8],[1]);
F ([5],[1]) = R_local_prim ([10],[1]);
F ([6],[1]) = R_local_prim ([14],[1]);
F ([7],[1]) = R_local_prim ([15],[1]);




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

%Sestavení globalního vektoru parametrů deformaci

%r_global = zeros(numDOF,1);
%r_global([1],[1])= 0
%r_global([2],[1])= 0
%r_global([3],[1])= 0
%r_global([4],[1])= r([1],[1])
%r_global([5],[1])= r([2],[1])
%r_global([6],[1])= 0
%r_global([7],[1])= r([3],[1])
%r_global([8],[1])= r([4],[1])
%r_global([9],[1])= r([5],[1])
%r_global([10],[1])= 0
%r_global([11],[1])= 0
%r_global([12],[1])= 0

%Sestavení lokalního vektoru sekundarních koncových sil
%R_local_sek = zeros (numDOF, 1);
%R_local_sek = K_global*r_global;

%Sestavení vektoru celkových koncových sil
%R_total = R_local_prim + R_local_sek;