Télécharger rigele.eso

Retour à la liste

Numérotation des lignes :

rigele
  1. C RIGELE SOURCE BP208322 17/03/01 21:18:08 9325
  2.  
  3. SUBROUTINE RIGELE (MATE,MELE,NBPGAU,LPERM,LRE,IPMAIL,IPMINT1,
  4. & IVAMAT,NVMAT, IPMATR)
  5.  
  6. *----------------------------------------------------------------------*
  7. * CALCUL DE LA RIGIDITE POUR LA FORMULATION 'ELECTROSTATIQUE' *
  8. *----------------------------------------------------------------------*
  9. * ENTREES : *
  10. * ________ *
  11. * MATE Numero du materiau *
  12. * MELE Numero de l'element fini *
  13. * IPMAIL Pointeur sur un segment MELEME *
  14. * IPMINT Pointeur sur un segment MINTE *
  15. * NBPGAU Nombre de point d'integration pour la rigidite *
  16. * IVAMAT Pointeur sur un segment MPTVAL pour le materiau ou *
  17. * NVMAT Nombre de composante de materiau (IMAT=1) *
  18. * *
  19. * SORTIES : *
  20. * ________ *
  21. * IPMATR pointeur sur la rigidite de la sous-zone *
  22. *----------------------------------------------------------------------*
  23.  
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8(A-H,O-Z)
  26.  
  27.  
  28. -INC PPARAM
  29. -INC CCOPTIO
  30. -INC CCREEL
  31.  
  32. -INC SMCHAML
  33. -INC SMCOORD
  34. -INC SMELEME
  35. -INC SMINTE
  36. -INC SMRIGID
  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 MPTVAL
  50. INTEGER IPOS(NS),NSOF(NS)
  51. INTEGER IVAL(NCOSOU)
  52. CHARACTER*16 TYVAL(NCOSOU)
  53. ENDSEGMENT
  54.  
  55. MINTE = IPMINT1
  56. MELEME = IPMAIL
  57. NBNN = NUM(/1)
  58. NBELEM = NUM(/2)
  59. XMATRI = IPMATR
  60. MPTVAL = IVAMAT
  61.  
  62. SEGINI,MWKELT
  63. IWKELT = MWKELT
  64.  
  65. MWKMAT = 0
  66. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  67. NLG = NUMGEO(MELE)
  68. CALL RESHPT(1,NBNN,NLG,MELE,0,IPMINT2,IRT1)
  69. MINTE2 = IPMINT2
  70. SEGACT,MINTE2
  71. NBSH = MINTE2.SHPTOT(/2)
  72. SEGINI,MWKMAT
  73. ENDIF
  74. IWKMAT = MWKMAT
  75.  
  76. C-------------------------
  77. C Boucle sur les elements
  78. C-------------------------
  79. DO IEL = 1,NBELEM
  80. C - Recuperation des coordonnees des noeuds de l element IEL
  81. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  82. C - Calcul des axes locaux dans les cas orthotrope et anisotrope
  83. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  84. CALL RLOCAL(XEL,MINTE2.SHPTOT,NBSH,NBNN,TXR)
  85. IF (NBSH.EQ.-1) THEN
  86. CALL ERREUR(525)
  87. GOTO 999
  88. ENDIF
  89. ENDIF
  90. C-- -- -- -- -- -- -- -- --
  91. C - Boucle sur les points de Gauss
  92. C-- -- -- -- -- -- -- -- --
  93. ISDJC = 0
  94. DO IGAU = 1, NBPGAU
  95. C -- Calcul de la matrice Bel et du jacobien au point de Gauss IGAU
  96. CALL BELEC(XEL,SHPTOT(1,1,IGAU),NBNN,LPERM,1, SHP,BGRELE,DJAC)
  97. IF (DJAC.LT.0.) ISDJC = ISDJC+1
  98. IF (DJAC.EQ.0.) THEN
  99. INTERR(1) = IEL
  100. CALL ERREUR(259)
  101. GOTO 999
  102. ENDIF
  103. DJAC = ABS(DJAC)*POIGAU(IGAU)
  104. C -- Recuperation des proprietes materielles (IGAU)
  105. DO i = 1, NVMAT
  106. MELVAL = IVAL(i)
  107. IEMN = MIN(IEL ,VELCHE(/2))
  108. IGMN = MIN(IGAU,VELCHE(/1))
  109. VALMAT(i) = VELCHE(IGMN,IEMN)
  110. ENDDO
  111. C -- Calcul de la matrice de permittivite dielectrique (IGAU)
  112. CALL PERMEL(MATE,IDIM, IWKELT,IWKMAT)
  113. C -- Contribution a la matrice de rigidite elementaire (IGAU - IEL)
  114. CALL BDBST(BGRELE,DJAC,DPERM,LRE,LPERM,RE(1,1,IEL))
  115. C-- -- -- -- -- -- -- -- --
  116. ENDDO
  117. C-- -- -- -- -- -- -- -- --
  118. IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN
  119. INTERR(1) = IEL
  120. CALL ERREUR(195)
  121. GOTO 999
  122. ENDIF
  123. C-------------------------
  124. ENDDO
  125. C-------------------------
  126.  
  127. 999 CONTINUE
  128. IF (MATE.EQ.2.OR.MATE.EQ.3) THEN
  129. SEGDES,MINTE2
  130. SEGSUP,MWKMAT
  131. ENDIF
  132. SEGSUP,MWKELT
  133.  
  134. RETURN
  135. END
  136.  
  137.  
  138.  
  139.  

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