Télécharger jcbien.eso

Retour à la liste

Numérotation des lignes :

jcbien
  1. C JCBIEN SOURCE CHAT 05/01/13 00:49:21 5004
  2. SUBROUTINE JCBIEN(XREF,ITYP,NDIM,NOEL1,XJAC,DET,IZSH)
  3. *******************************************************************
  4. *** SP 'JCBIEN' : calcul du jacobien pour le passage entre l'element
  5. *** de reference et l'element reel.
  6. ***
  7. *** APPELES 1 = 'SHAPE'
  8. *** APPELES 2 = aucun
  9. ***
  10. *** E = 'XREF' coordonnees de reference du pt de calcul
  11. *** 'ITYP' entier caracterisant le type de l'element
  12. *** 'NDIM' dimension de l'espace
  13. *** 'NOEL1' nbre de noeuds de l'element
  14. ***
  15. *** S = 'XJAC' matrice Jacobienne au pt de calcul
  16. *** 'DET' valeur du Jacobien au pt de calcul
  17. ***
  18. *** E/S = 'IZSH' segment content parametres utilises suivants :
  19. *** 'XYZL' coord reelles des noeuds de l'element (E)
  20. *** 'SHP(1,I)' fcts forme au pt calcul de reference (S)
  21. *** 'SHP(2,I)' derivee fcts forme / xsi au pt calcul reference (S)
  22. *** 'SHP(3,I)' derivee fcts forme / eta au pt calcul reference (S)
  23. *** 'SHP(4,I)' derivee fcts forme / dzeta au pt calcul reference (S)
  24. ***
  25. *** Auteur Patrick Meyniel
  26. ********************************************************************
  27.  
  28. IMPLICIT INTEGER(I-N)
  29. IMPLICIT REAL*8 (A-H,O-Z)
  30. SEGMENT IZSH
  31. REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  32. ENDSEGMENT
  33. DIMENSION XREF(*),XJAC(3,*)
  34. *** calcul des fonctions de forme et de leur derivees
  35. CALL SHAPE(XREF(1),XREF(2),XREF(3),ITYP,SHP,IRET)
  36. *** initialisation des coefficients de la matrice jacobienne
  37. DET=0.D0
  38. DO 10 I=1,3
  39. DO 20 J=1,3
  40. XJAC(I,J)=0.D0
  41. 20 CONTINUE
  42. 10 CONTINUE
  43. *** calcul des coefficients de derivation de la matrice jacobienne
  44. IF (NDIM.EQ.2) THEN
  45. *** cas 2D
  46. DO 30 I=1,NOEL1
  47. XJAC(1,1)=XJAC(1,1)+SHP(2,I)*XYZL(1,I)
  48. XJAC(1,2)=XJAC(1,2)+SHP(3,I)*XYZL(1,I)
  49. XJAC(2,1)=XJAC(2,1)+SHP(2,I)*XYZL(2,I)
  50. XJAC(2,2)=XJAC(2,2)+SHP(3,I)*XYZL(2,I)
  51. 30 CONTINUE
  52. DET=XJAC(1,1)*XJAC(2,2)-XJAC(1,2)*XJAC(2,1)
  53. ELSE
  54. *** cas 3D
  55. DO 40 I=1,NOEL1
  56. XJAC(1,1)=XJAC(1,1)+SHP(2,I)*XYZL(1,I)
  57. XJAC(1,2)=XJAC(1,2)+SHP(3,I)*XYZL(1,I)
  58. XJAC(1,3)=XJAC(1,3)+SHP(4,I)*XYZL(1,I)
  59. XJAC(2,1)=XJAC(2,1)+SHP(2,I)*XYZL(2,I)
  60. XJAC(2,2)=XJAC(2,2)+SHP(3,I)*XYZL(2,I)
  61. XJAC(2,3)=XJAC(2,3)+SHP(4,I)*XYZL(2,I)
  62. XJAC(3,1)=XJAC(3,1)+SHP(2,I)*XYZL(3,I)
  63. XJAC(3,2)=XJAC(3,2)+SHP(3,I)*XYZL(3,I)
  64. XJAC(3,3)=XJAC(3,3)+SHP(4,I)*XYZL(3,I)
  65. 40 CONTINUE
  66. DET=XJAC(1,1)*(XJAC(2,2)*XJAC(3,3)-XJAC(3,2)*XJAC(2,3))
  67. $ +XJAC(1,2)*(XJAC(3,1)*XJAC(2,3)-XJAC(2,1)*XJAC(3,3))
  68. $ +XJAC(1,3)*(XJAC(2,1)*XJAC(3,2)-XJAC(2,2)*XJAC(3,1))
  69. ENDIF
  70. RETURN
  71. END
  72.  
  73.  
  74.  
  75.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales