Télécharger geoli1.eso

Retour à la liste

Numérotation des lignes :

  1. C GEOLI1 SOURCE GOUNAND 05/12/21 21:26:46 5281
  2. SUBROUTINE GEOLI1(IESREL,IESREF,NDNOEU,NDPOGO,NDELEM,
  3. $ DFNPG,JCOOR,
  4. $ JMAJAC,
  5. $ IMPR,IRET)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. IMPLICIT INTEGER (I-N)
  8. C***********************************************************************
  9. C NOM : GEOLI1
  10. C PROJET : Noyau linéaire NLIN
  11. C DESCRIPTION : Calcul de la matrice jacobienne d'une transformation
  12. C géométrique aux points de Gauss d'un élément de
  13. C référence pour chaque élément réel.
  14. C On a :
  15. C Fonction f : R^m -> R^n
  16. C a=(a1...am) |-> f(a)=(f1(a)...fn(a)
  17. C => matjac(i,j)(a)=Dj fi (a) = dfi / dxj (a)
  18. C
  19. C Par exemple, pour une surface en 3D, la matrice jacobienne
  20. C s'exprime comme :
  21. C
  22. C
  23. C [ <xn> ]
  24. C [J] = [ <yn> ] . [ { dNg/d(ksi) } { dNg/d(eta) } ]
  25. C [ <zn> ]
  26. C
  27. C (3x2) (3 x Nnoeuds) (Nnoeuds x 2)
  28. C
  29. C Ici, le nb de ddl est égal aux nbs de noeuds car l'interpolation
  30. C pour la géométrie est de type nodale.
  31. C
  32. C Ceci ressemble à un produit tensoriel (cf. coga1)
  33. C
  34. C
  35. C LANGAGE : Fortran 77 (sauf E/S)
  36. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  37. C mél : gounand@semt2.smts.cea.fr
  38. C***********************************************************************
  39. C APPELES : -
  40. C APPELE PAR : GEOLIN
  41. C***********************************************************************
  42. C ENTREES : * IESREL (type entier) : dimension de l'espace
  43. C réel (i.e. géométrique).
  44. C * IESREF (type entier) : dimension de l'espace de
  45. C référence.
  46. C * NDNOEU (type entier) : nombre de ddl (par
  47. C élément) de la transformation géométrique.
  48. C * NDPOGO (type entier) : nombre de points
  49. C d'intégration.
  50. C * NDELEM (type entier) : nombre d'éléments du
  51. C maillage élémentaire courant.
  52. C * DFNPG (type entier) : valeurs des dérivées
  53. C premières des fonctions d'interpolation de la
  54. C transformation géométrique aux points de gauss
  55. C sur l'élément de référence.
  56. C * JCOOR (type réel) : valeurs des ddl de la
  57. C transformation géométrique sur le maillage
  58. C élémentaire courant.
  59. C ENTREES/SORTIES : * JMAJAC (type réel) : valeurs de la matrice
  60. C jacobienne aux points de Gauss sur le maillage
  61. C élémentaire courant.
  62. C SORTIES : -
  63. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  64. C***********************************************************************
  65. C VERSION : v1, 10/08/99, version initiale
  66. C HISTORIQUE : v1, 10/08/99, création
  67. C HISTORIQUE :
  68. C HISTORIQUE :
  69. C***********************************************************************
  70. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  71. C en cas de modification de ce sous-programme afin de faciliter
  72. C la maintenance !
  73. C***********************************************************************
  74. -INC CCOPTIO
  75. INTEGER IESREL,IESREF,NDNOEU,NDPOGO,NDELEM
  76. REAL*8 DFNPG (NDNOEU,IESREF,NDPOGO)
  77. REAL*8 JCOOR (NDNOEU,IESREL,NDELEM)
  78. REAL*8 JMAJAC(IESREL,IESREF,NDPOGO,NDELEM)
  79. *
  80. INTEGER IMPR,IRET
  81. INTEGER IELEM,IPOGO,INOEUD,IREEL,IREFER
  82. *
  83. * Executable statements
  84. *
  85. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans geoli1'
  86. DO 1 IELEM=1,NDELEM
  87. DO 12 IPOGO=1,NDPOGO
  88. DO 122 IREFER=1,IESREF
  89. DO 1222 IREEL=1,IESREL
  90. DO 12222 INOEUD=1,NDNOEU
  91. JMAJAC(IREEL,IREFER,IPOGO,IELEM)=
  92. $ JMAJAC(IREEL,IREFER,IPOGO,IELEM)
  93. $ + (JCOOR(INOEUD,IREEL,IELEM)
  94. $ *DFNPG(INOEUD,IREFER,IPOGO))
  95. 12222 CONTINUE
  96. 1222 CONTINUE
  97. 122 CONTINUE
  98. 12 CONTINUE
  99. 1 CONTINUE
  100.  
  101. *
  102. * Normal termination
  103. *
  104. IRET=0
  105. RETURN
  106. *
  107. * Format handling
  108. *
  109. *
  110. * Error handling
  111. *
  112. 9999 CONTINUE
  113. IRET=1
  114. WRITE(IOIMP,*) 'An error was detected in subroutine geoli1'
  115. RETURN
  116. *
  117. * End of subroutine GEOLI1
  118. *
  119. END
  120.  
  121.  
  122.  

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