1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
clear
//elements
elements=[1,2;1,3;2,3;2,4;3,4;3,5;4,5;4,6;5,6;5,7;6,7];
//nombre d'éléments
nombre_ele=size(elements,1);
//nombre de noeuds
nombre_noeuds=7;
//coordonnées des noeuds
noeuds_coor=[0,0;1.8,3.118;3.6,0;5.4,3.118;7.2,0;9,3.118;10.8,0];
//inconnues nodales
inc_nodales=[1,2,3,4;1,2,5,6;3,4,5,6;3,4,7,8;5,6,7,8;5,6,9,10;7,8,9,10;7,8,11,12;9,10,11,12;9,10,13,14;11,12,13,14];
//Définition de la section et du module d'Young
S=ones(11,1)*3*10^(-4);
E=ones(11,1)*70*10^9;
//définition des matrices
deplacements=zeros(2*nombre_noeuds,1);
force=zeros(2*nombre_noeuds,1);
Ke=zeros(2*nombre_noeuds);
//force appliquées
force(2)=-280000;
force(6)=-210000;
force(10)=-280000;
force(12)=-360000;
//Conditions limites
deplacements (1,1)=0;
deplacements (2,1)=0;
deplacements (14,1)=0;
// Assemblage de la matrice de rigidité élementaire
for e=1:nombre_ele
L(e)=sqrt((noeuds_coor(elements(e,2),1)-noeuds_coor(elements(e,1),1))^2+(noeuds_coor(elements(e,2),2)-noeuds_coor(elements(e,1),2))^2);
C=(noeuds_coor(elements(e,2),1)-noeuds_coor(elements(e,1),1))/L(e);
S=(noeuds_coor(elements(e,2),2)-noeuds_coor(elements(e,1),2))/L(e);
k=(S(e)*E(e)/L(e)*[C*C C*S -C*C -C*S;C*S S*S -C*S -S*S;-C*C -C*S C*C C*S; -C*S -S*S C*S S*S]);
// Assemblage de la matrice de rigidité globale
inc_nodales_vec=inc_nodales(e,:);
for i=1:4
for j=1:4
Ke(inc_nodales_vec(1,i),inc_nodales_vec(1,j))= Ke(inc_nodales_vec(1,i),inc_nodales_vec(1,j))+k(i,j);
end
end
end |
Partager