Télécharger nelec.eso

Retour à la liste

Numérotation des lignes :

nelec
  1. C NELEC SOURCE FANDEUR 10/12/17 21:18:18 6427
  2.  
  3. C=======================================================================
  4. C= N E L E C =
  5. C= --------- =
  6. C= Fonction : =
  7. C= ---------- =
  8. C= Calcul de la matrice N des fonctions de forme de l'element fini =
  9. C= en un point donne de l'element, matrice N intervenant lors du =
  10. C= calcul des forces nodales equivalentes a une densite de sources =
  11. C= volumiques. =
  12. C= =
  13. C= Parametres : (E)=Entree (S)=Sortie =
  14. C= ------------ =
  15. C= NBNO (E) Nombre de noeuds de l'element fini =
  16. C= XEL (E) Coordonnees des noeuds de l'element fini etudie =
  17. C= SHPREF (E) Fonctions de forme et leurs derivees (reference) =
  18. C= SHP (S) Fonctions de forme et leurs derivees (reelles) =
  19. C= FORME (S) Matrice des fcts de forme (N) au point considere =
  20. C= DJAC (S) Jacobien au point considere =
  21. C= =
  22. C= Remarque : =
  23. C= ---------- =
  24. C= Lors de l'entree dans le sous-programme, SHPREF(2 a 4,*) contient =
  25. C= les DERIVEES des fonctions de forme par rapport aux coordonnees =
  26. C= de REFERENCE Qsi,Eta,Dzeta. =
  27. C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES =
  28. C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. =
  29. C=======================================================================
  30.  
  31. SUBROUTINE NELEC (NBNO,XEL,SHPREF, SHP,FORME,DJAC)
  32.  
  33. IMPLICIT INTEGER(I-N)
  34. IMPLICIT REAL*8 (A-H,O-Z)
  35.  
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC CCREEL
  40.  
  41. C= Quelques constantes (2.Pi et 4.Pi)
  42. PARAMETER (X2Pi= 6.283185307179586476925286766559D0)
  43. PARAMETER (X4Pi=12.566370614359172953850573533118D0)
  44.  
  45. DIMENSION XEL(3,*),SHPREF(6,*), SHP(6,*),FORME(*)
  46.  
  47. C ====================
  48. C 1 - Initialisation
  49. C ====================
  50. C* DO j = 1, NBNO
  51. C* FORME(j) = XZero
  52. C* ENDDO
  53.  
  54. C ===================================
  55. C 2.1 - Cas des elements MASSIFS 3D
  56. C ===================================
  57. IF (IFOMOD.EQ.2) THEN
  58. DO j = 1, NBNO
  59. SHP(1,j) = SHPREF(1,j)
  60. SHP(2,j) = SHPREF(2,j)
  61. SHP(3,j) = SHPREF(3,j)
  62. SHP(4,j) = SHPREF(4,j)
  63. FORME(j) = SHPREF(1,j)
  64. ENDDO
  65. CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC)
  66. C =========================================================
  67. C 2.2 - Cas des elements MASSIFS 2D PLAN ou AXISYMETRIQUE
  68. C =========================================================
  69. ELSE IF (IFOMOD.EQ.-1 .OR. IFOMOD.EQ.0) THEN
  70. DO j = 1, NBNO
  71. SHP(1,j) = SHPREF(1,j)
  72. SHP(2,j) = SHPREF(2,j)
  73. SHP(3,j) = SHPREF(3,j)
  74. FORME(j) = SHPREF(1,j)
  75. ENDDO
  76. CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC)
  77. IF (IFOMOD.EQ.0) THEN
  78. CALL DISTRR(XEL,SHP,NBNO,RR)
  79. DJAC = X2Pi*DJAC*RR
  80. ENDIF
  81. C ===================================
  82. C 2.3 - Cas des elements MASSIFS 1D
  83. C ===================================
  84. ELSE IF (IFOMOD.EQ.3 .OR. IFOMOD.EQ.4 .OR. IFOMOD.EQ.5) THEN
  85. DO j = 1, NBNO
  86. SHP(1,j) = SHPREF(1,j)
  87. SHP(2,j) = SHPREF(2,j)
  88. FORME(j) = SHPREF(1,j)
  89. ENDDO
  90. CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC)
  91. C Cas particulier des modes axisymetriques et spherique 1D
  92. IF (IFOMOD.EQ.4.OR.IFOMOD.EQ.5) THEN
  93. CALL DISTRR(XEL,SHP,NBNO,RR)
  94. IF (IFOMOD.EQ.5) THEN
  95. DJAC = X4Pi*DJAC*RR*RR
  96. ELSE
  97. DJAC = X2Pi*DJAC*RR
  98. ENDIF
  99. ENDIF
  100. C ===========================================
  101. C 2.4 - Cas des elements MASSIFS 2D FOURIER
  102. C ===========================================
  103. ELSE IF (IFOMOD.EQ.1) THEN
  104. DO j = 1,NBNO
  105. SHP(1,j) = SHPREF(1,j)
  106. SHP(2,j) = SHPREF(2,j)
  107. SHP(3,j) = SHPREF(3,j)
  108. FORME(j) = SHPREF(1,j)
  109. ENDDO
  110. CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC)
  111. CALL DISTRR(XEL,SHP,NBNO,RR)
  112. IF (NIFOUR.EQ.0) THEN
  113. DJAC = X2Pi*DJAC*RR
  114. ELSE
  115. DJAC = XPi*DJAC*RR
  116. ENDIF
  117. ENDIF
  118.  
  119. RETURN
  120. END
  121.  
  122.  
  123.  

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