Télécharger bjo4g.eso

Retour à la liste

Numérotation des lignes :

bjo4g
  1. C BJO4G SOURCE CHAT 05/01/12 21:40:39 5004
  2. SUBROUTINE BJO4G(IGAU,XE,XEL,BPSS,SHPTOT,SHP,EPAIST,BGENE,DJAC
  3. . ,IRRT)
  4. C=======================================================================
  5. C
  6. C CALCUL DE LA MATRICE B = TETA * ( N , -N )
  7. C ET DU JACOBIEN EN IGAU
  8. C ROUTINE FORTRAN PUR
  9. C P. PEGON 2001 d'apres CODE S. FELIX MAI 92
  10. C=======================================================================
  11. C INPUT
  12. C IGAU = NUMERO DU POINT DE GAUSS
  13. C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT
  14. C BPSS = MATRICE DE PASSAGE
  15. C BPSS(,) = AXE S1
  16. C BPSS(,) = AXE S2
  17. C BPSS(,) = AXE SN
  18. C SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE
  19. C SHPTOT(1, ) = FONCTION DE FORME
  20. C SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI
  21. C SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA
  22. C OUTPUT
  23. C SHP = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE
  24. C SHP(1, ) = FONCTION DE FORME
  25. C SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL
  26. C SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL
  27. C DJAC = JACOBIEN AU POINT D'INTEGRATION IGAU
  28. C BGENE = MATRICE B AU POINT D'INTEGRATION IGAU
  29. C IRRT = DIFFERENT DE ZERO SI ERREUR
  30. C CONSTANTES
  31. C NBNO = NOMBRE DE NOEUDS
  32. C LRE = NOMBRE DE COLONNES DE LA MATRICE B ("IDIM*NBNO")
  33. C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES
  34. C
  35. C REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES ET
  36. C AXISYMETRIQUE, LA MATRICE BPSS ( RESPECTIVEMENT BGENE )
  37. C N'A PLUS LA DIMENSION (3X3) ( RESPECTIVEMENT (3X24) ).
  38. C TROUVER LEURS DIMENSIONS CORRECTES ET MODIFIER LES
  39. C PARAMETRES LRE, NST, NBNO. CEUX CI CORRESPONDRONT A
  40. C CEUX DU CAS BIDIMENSIONNELS. AINSI PAR EXEMPLE, NBNO
  41. C SERA EGAL A 4, NST SERA EGAL A 2 ETC ...
  42. C
  43. C=======================================================================
  44. IMPLICIT INTEGER(I-N)
  45. IMPLICIT REAL*8(A-H,O-Z)
  46. PARAMETER (LRE=24,NST=6,NBNO=8)
  47. CcPPj DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
  48. DIMENSION XE(3,*),XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
  49. DIMENSION BPSS(3,3)
  50. C
  51. IRRT = 0
  52. C
  53. C MATRICE JACOBIENNE
  54. C
  55. DO 1 I=1,NBNO
  56. SHP(1,I) = SHPTOT(1,I,IGAU)
  57. SHP(2,I) = SHPTOT(2,I,IGAU)
  58. SHP(3,I) = SHPTOT(3,I,IGAU)
  59. 1 CONTINUE
  60. C
  61. NBNONN=NBNO/2
  62. CALL JACOBI(XEL,SHP,2,NBNONN,DJAC)
  63. IF (DJAC.LT.0.0D0) THEN
  64. IRRT = 1
  65. ELSE IF (DJAC.EQ.0.0D0) THEN
  66. IRRT = 2
  67. ENDIF
  68. C
  69. C MATRICE B ---> joint "standard"
  70. C
  71. CALL ZERO(BGENE,NST,LRE)
  72. DO 2 I=1,3
  73. DO 3 J=1,4
  74. DO 4 K=1,3
  75. L=3*(J-1)+K
  76. M=L+12
  77. BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  78. BGENE(I,M)=-BGENE(I,L)
  79. 4 CONTINUE
  80. 3 CONTINUE
  81. 2 CONTINUE
  82. CpPPj
  83. C
  84. C DETERMINATION DE L'EPAISSEUR EN CAS DE BESOIN
  85. C (on utilise BGENE(3,.) pour l'ouverture)
  86. C
  87. IF(EPAIST.EQ.0.D+0)THEN
  88. DO I=1,NBNO
  89. J=3*(I-1)
  90. DO K=1,3
  91. EPAIST=EPAIST+BGENE(3,J+K)*XE(K,I)
  92. ENDDO
  93. ENDDO
  94. ENDIF
  95. IF(EPAIST.LE.0.D+0)THEN
  96. IRRT = 10
  97. ENDIF
  98. CpPPj
  99. C
  100. C MATRICE B ---> complement pour le cisaillement
  101. C
  102. DO I=1,2
  103. DO J=1,4
  104. DO K=1,3
  105. L=3*(J-1)+K
  106. M=L+12
  107. AAAA=0.5D0*BPSS(3,K)*SHP(I+1,J)*EPAIST
  108. BGENE(I,L)=BGENE(I,L)+AAAA
  109. BGENE(I,M)=BGENE(I,M)+AAAA
  110. ENDDO
  111. ENDDO
  112. ENDDO
  113. C
  114. C MATRICE B ---> composante de deformation axiales dans le plan
  115. C
  116. DO I=1,2
  117. DO J=1,4
  118. DO K=1,3
  119. L=3*(J-1)+K
  120. M=L+12
  121. BGENE(I+3,L)=0.5D0*BPSS(I,K)*SHP(I+1,J)
  122. BGENE(I+3,M)=BGENE(I+3,L)
  123. ENDDO
  124. ENDDO
  125. ENDDO
  126. C
  127. C MATRICE B ---> composante de cisaillement (gamma) dans le plan
  128. C
  129. DO J=1,4
  130. DO K=1,3
  131. L=3*(J-1)+K
  132. M=L+12
  133. BGENE(6,L)=0.5D0*BPSS(1,K)*SHP(2+1,J)
  134. > +0.5D0*BPSS(2,K)*SHP(1+1,J)
  135. BGENE(6,M)=BGENE(6,L)
  136. ENDDO
  137. ENDDO
  138. C
  139. RETURN
  140. END
  141.  
  142.  
  143.  

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