Q4_th.m 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. function [Ke,Fe] = Q4_th(iel)
  2. % Calcul de la matrice comportement Ke et du vecteur flux Fe
  3. % pour un element Q4 de thermique lineaire en regime permanent
  4. %
  5. % appel [Ke,Fe] = Q4_ke(iel)
  6. % ou [Ke,Fe] = feval('Q4_ke',iel)
  7. % en entree iel : numero de l'element
  8. % en sortie Ke : matrice raideur elementaire (4,4)
  9. % Fe : force generalisee elementaire (4,1)
  10. %
  11. % H.Oudin
  12. global Coord Connec Nprop Prop
  13. npg = 4; %----- integration a 4 points de Gauss
  14. wg = [1,1,1,1]; %----- poids et position
  15. c = 1/sqrt(3); posg = [ -c -c ; c -c ; c c ; -c c ];
  16. D=Prop(Nprop(iel),1); %----- carateristiques thermiques
  17. r=Prop(Nprop(iel),2);
  18. ndle = 4; %----- initialisations
  19. Ke = zeros(ndle); Fe = zeros(ndle,1); % aire=0
  20. for ipg=1:npg %----- boucle d'integration
  21. s = posg(ipg,1); t = posg(ipg,2); poids = wg(ipg);
  22. %----- vecteur <N(s,t)>
  23. N = .25*[(1-s)*(1-t) (1+s)*(1-t) (1+s)*(1+t) (1-s)*(1+t)];
  24. %----- matrice [dN/ds ;dN/dt]
  25. dN = .25*[-(1-t) (1-t) (1+t) -(1+t)
  26. -(1-s) -(1+s) (1+s) (1-s)];
  27. %----- matrice jacobienne
  28. J = dN*Coord(Connec(iel,[1:4]),:);
  29. detj = J(1,1)*J(2,2)-J(1,2)*J(2,1);
  30. J_1 = [J(2,2) -J(1,2); -J(2,1) J(1,1)]/detj ;
  31. %----- matrice [dN/dx ;dN/dy]
  32. dNx = J_1*dN;
  33. %----- matrice B(2x4)
  34. B=zeros(2,4);
  35. B(1,[1 2 3 4])=dNx(1,:);
  36. B(2,[1 2 3 4])=dNx(2,:);
  37. %----- matrice Ke(4x4) %aire=aire+detj*poids;
  38. Ke=Ke+(B'*D*B)*detj*poids;
  39. %----- vecteur Fe(4,1)
  40. Fe([1 2 3 4],1) = Fe([1 2 3 4],1)+ r*detj*poids*N';
  41. end
  42. %disp(Ke),disp(Fe)
  43. return