Télécharger sigele.eso

Retour à la liste

Numérotation des lignes :

sigele
  1. C SIGELE SOURCE OF166741 25/02/21 21:18:33 12166
  2.  
  3. SUBROUTINE SIGELE (MELE,IELE,IPMAIL,NBPGAU,IPMINT1,NDEP,IVADEP,
  4. & LPERM,LRE,MATE,IVAMAT,NVMAT, IVASTR)
  5.  
  6. *----------------------------------------------------------------------*
  7. * CALCUL DES INDUCTIONS ELECTRIQUES (FORMULATION 'ELECTROSTATIQUE') *
  8. *----------------------------------------------------------------------*
  9. * ENTREES : *
  10. * ________ *
  11. * MELE Numero de l'element fini *
  12. * IPMAIL Pointeur sur un segment MELEME *
  13. * IPMINT1 Pointeur sur un segment MINTE *
  14. * NBPGAU Nombre de point d'integration pour la rigidite *
  15. * MATE Numero du materiau *
  16. * IVAMAT Pointeur sur un segment MPTVAL pour le materiau ou *
  17. * NVMAT Nombre de composantes de materiau *
  18. * *
  19. * SORTIES : *
  20. * ________ *
  21. * IVASTR Pointeur sur *
  22. *----------------------------------------------------------------------*
  23.  
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8(A-H,O-Z)
  26.  
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. -INC CCREEL
  30.  
  31. -INC SMCHAML
  32. -INC SMCOORD
  33. -INC SMELEME
  34. -INC SMINTE
  35.  
  36. -INC TMPTVAL
  37.  
  38. SEGMENT MWKELT
  39. REAL*8 DPERM(LPERM,LPERM),BGRELE(LPERM,LRE)
  40. REAL*8 XEL(3,NBNN),SHP(6,NBNN)
  41. REAL*8 VALMAT(NVMAT)
  42. ENDSEGMENT
  43.  
  44. SEGMENT MWKMAT
  45. REAL*8 XLOC(3,3),XGLOB(3,3),TXR(IDIM,IDIM)
  46. REAL*8 DPERM1(LPERM,LPERM)
  47. ENDSEGMENT
  48.  
  49. SEGMENT MWKELE
  50. REAL*8 DDLELE(LRE),FLUELE(LPERM)
  51. ENDSEGMENT
  52.  
  53. MINTE = IPMINT1
  54. MELEME = IPMAIL
  55. NBNN = NUM(/1)
  56. NBELEM = NUM(/2)
  57.  
  58. SEGINI,MWKELT
  59. IWKELT = MWKELT
  60.  
  61. MWKMAT = 0
  62. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  63. CALL RESHPT(1,NBNN,IELE,MELE,0,IPMINT2,IRT1)
  64. MINTE2 = IPMINT2
  65. SEGACT,MINTE2
  66. NBSH = MINTE2.SHPTOT(/2)
  67. SEGINI,MWKMAT
  68. ENDIF
  69. IWKMAT = MWKMAT
  70.  
  71. SEGINI,MWKELE
  72.  
  73. C-------------------------
  74. C Boucle sur les elements
  75. C-------------------------
  76. DO IEL = 1,NBELEM
  77. C - Recuperation des coordonnees des noeuds de l element IEL
  78. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  79. C - Calcul des axes locaux dans les cas orthotrope et anisotrope
  80. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  81. CALL RLOCAL(XEL,MINTE2.SHPTOT,NBSH,NBNN,TXR)
  82. IF (NBSH.EQ.-1) THEN
  83. CALL ERREUR(525)
  84. GOTO 999
  85. ENDIF
  86. ENDIF
  87. C - Recuperation des potentiels electriques aux noeuds de l element IEL
  88. MPTVAL = IVADEP
  89. IE = 1
  90. DO IGAU = 1, NBNN
  91. DO ICOMP = 1, NDEP
  92. MELVAL = IVAL(ICOMP)
  93. IGMN = MIN(IGAU,VELCHE(/1))
  94. IEMN = MIN(IEL ,VELCHE(/2))
  95. DDLELE(IE) = VELCHE(IGMN,IEMN)
  96. IE = IE+1
  97. ENDDO
  98. ENDDO
  99. C-- -- -- -- -- -- -- -- --
  100. C - Boucle sur les points de Gauss
  101. C-- -- -- -- -- -- -- -- --
  102. ISDJC = 0
  103. DO IGAU = 1, NBPGAU
  104. C -- Calcul de la matrice Bel et du jacobien au point de Gauss IGAU
  105. CALL BELEC(XEL,SHPTOT(1,1,IGAU),NBNN,LPERM,-1,
  106. & SHP,BGRELE,DJAC)
  107. IF (DJAC.LT.0.) ISDJC = ISDJC+1
  108. IF (DJAC.EQ.0.) THEN
  109. INTERR(1) = IEL
  110. CALL ERREUR(259)
  111. GOTO 999
  112. ENDIF
  113. C -- Recuperation des proprietes materielles (IGAU)
  114. MPTVAL = IVAMAT
  115. DO i = 1, NVMAT
  116. MELVAL = IVAL(i)
  117. IEMN = MIN(IEL ,VELCHE(/2))
  118. IGMN = MIN(IGAU,VELCHE(/1))
  119. VALMAT(i) = VELCHE(IGMN,IEMN)
  120. ENDDO
  121. C -- Calcul de la matrice de permittivite dielectrique (IGAU)
  122. CALL PERMEL(MATE,IDIM, IWKELT,IWKMAT)
  123. C -- Calcul de l'induction electrique Del (IGAU)
  124. CALL DBST(BGRELE,DPERM,DDLELE,LRE,LPERM,FLUELE)
  125. C -- Remplissage du segment contenant Del = "contraintes"
  126. MPTVAL = IVASTR
  127. DO ICOMP = 1, LPERM
  128. MELVAL = IVAL(ICOMP)
  129. IEMN = MIN(IEL,VELCHE(/2))
  130. VELCHE(IGAU,IEMN) = FLUELE(ICOMP)
  131. ENDDO
  132. C-- -- -- -- -- -- -- -- --
  133. ENDDO
  134. C-- -- -- -- -- -- -- -- --
  135. IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN
  136. INTERR(1) = IEL
  137. CALL ERREUR(195)
  138. GOTO 999
  139. ENDIF
  140. C-------------------------
  141. ENDDO
  142. C-------------------------
  143.  
  144. 999 CONTINUE
  145. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  146. SEGDES,MINTE2
  147. SEGSUP,MWKMAT
  148. ENDIF
  149. SEGSUP,MWKELT
  150. SEGSUP,MWKELE
  151.  
  152. RETURN
  153. END
  154.  
  155.  
  156.  

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