==================================================================== programmes MuPAD - 24/03/06 Méthode des éléments finis : treillis plan à noeuds articulés Yves DEBARD Institut Universitaire de Technologie du MANS Département Génie Mécanique et Productique Avenue Olivier Messiaen 72085 LE MANS CEDEX 9 ==================================================================== tre_mat // calculs élémentaires reset():export(linalg): // allongement unitaire eps:=(nx*(uj-ui)+ny*(vj-vi))/L; // énergie de déformation Edef:=EA*eps^2*L/2-eps*EA*alpha*DT*L; // matrice de rigidité k:=hessian(Edef,[ui,vi,uj,vj]); // efforts nodaux fnod:=grad(Edef,[ui,vi,uj,vj]); // remarque k:=jacobian(fnod,[ui,vi,uj,vj]); // vecteur dû au gradient thermique fth:=-jacobian(fnod,[DT]); ____________________________________________________________ Exemple 1 reset():export(linalg): // application numérique // L:=200;E_:=200000;A:=100;P:=-10000; // matrice de rigidité KL:=matrix([[2,0,-1],[0,2,-1],[-1,-1,1+sqrt(2)]]): KL:=KL*E_*A/2/sqrt(2)/L; // vecteur FL FL:=matrix([0,P,0]); // calcul des déplacements nodaux UL:=simplify(matlinsolve(KL,FL)); // float(UL); ___________________________________________________________ Exemple 2 reset():export(linalg): // application numérique // L:=700;E_:=200000;A:=10000;P:=-120e3; // matrice de rigidité KL:=matrix([[1+2*sqrt(2),1,-1],[1,1+2*sqrt(2),-1],[-1,-1,1]]): KL:=KL*E_*A/2/sqrt(2)/L; // vecteur FL FL:=matrix([0,P,3*P]); // calcul des déplacements nodaux UL:=simplify(matlinsolve(KL,FL)); _________________________________________________________ Exemple 3 reset():export(linalg): // application numérique // L:=100;E_:=200000;A:=100;alpha:=1e-5;DT:=100; // matrice de rigidité x:=1+2*sqrt(2): KL:=matrix([[x,1],[1,x]]): KL:=KL*E_*A/2/sqrt(2)/L; // vecteurs F x:=E_*A*alpha*DT/2: FLcas1:=matrix([(sqrt(2)-2)*x,(sqrt(2)+2)*x]); FLcas2:=matrix([0,E_*A*alpha*DT]); // calcul des déplacements nodaux ULcas1:=matlinsolve(KL,FLcas1); ULcas2:=matlinsolve(KL,FLcas2);