Télécharger bjo2gn.eso

Retour à la liste

Numérotation des lignes :

  1. C BJO2GN SOURCE CHAT 05/01/12 21:40:25 5004
  2. SUBROUTINE BJO2GN(IGAU,MFR,IFOU,NIFOU,XE,XEL,BPSS,SHPTOT,SHP,
  3. . EPAIST,BGENE,DJAC,XDPGE,YDPGE,IRRT)
  4. C=======================================================================
  5. C
  6. C PPj POUR LES JOINT GENERALISE
  7. C CALCUL DE LA MATRICE B = TETA * ( N , -N )
  8. C ET DU JACOBIEN EN IGAU POUR UN JOINT 2D
  9. C ROUTINE FORTRAN PUR
  10. C P. PEGON 2001 d'apres CODE S. FELIX MAI 92
  11. C=======================================================================
  12. C INPUT
  13. C IGAU = NUMERO DU POINT DE GAUSS
  14. C MFR = NUMERO DE LA FORMULATION
  15. C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT
  16. C BPSS = MATRICE DE PASSAGE
  17. C BPSS(,) = AXE S1
  18. C BPSS(,) = AXE SN
  19. C SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE
  20. C SHPTOT(1, ) = FONCTION DE FORME
  21. C SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI
  22. C SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA
  23. C OUTPUT
  24. C SHP = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE
  25. C SHP(1, ) = FONCTION DE FORME
  26. C SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL
  27. C SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL
  28. C DJAC = JACOBIEN AU POINT D'INTEGRATION IGAU
  29. C BGENE = MATRICE B AU POINT D'INTEGRATION IGAU
  30. C IRRT = DIFFERENT DE ZERO SI ERREUR
  31. C CONSTANTES
  32. C NBNO = NOMBRE DE NOEUDS
  33. C LRE = NOMBRE DE COLONNES DE LA MATRICE B
  34. C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES
  35. C
  36. C REMARQUE : CE SOUS-PROGRAMME EST VALABLE EN CONTRAINTES PLANES,
  37. C DEFORMATIONS PLANES ET AXISYMETRIQUES. LA MATRICE
  38. C BGENE = TETA ( Ntop , - Nbot )
  39. C EST UNE MATRICE (2x8). EN EFFET, TETA EST UNE MATRICE
  40. C (2x2), ET ( Ntop , - Nbot ) EST UNE MATRICE (2x8).
  41. C LA MATRICE TETA EST ICI APPELEE BPSS.
  42. C
  43. C=======================================================================
  44. IMPLICIT INTEGER(I-N)
  45. IMPLICIT REAL*8(A-H,O-Z)
  46. PARAMETER (NST=4,NBNO=4)
  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. LRE=2*NBNO
  52. IF(IFOU.EQ.-3)LRE=LRE+3
  53. CALL ZERO(BGENE,NST,LRE)
  54. C
  55. IRRT = 0
  56. C
  57. C MATRICE JACOBIENNE
  58. C
  59. DO 1 I=1,NBNO
  60. SHP(1,I) = SHPTOT(1,I,IGAU)
  61. SHP(2,I) = SHPTOT(2,I,IGAU)
  62. 1 CONTINUE
  63. C
  64. NBNONN=NBNO/2
  65. CALL DEVOLU(XEL,SHP,MFR,NBNONN,IFOU,NIFOU,1,1.D0,RR,DJAC)
  66.  
  67. IF (DJAC.LT.0.0D0) THEN
  68. IRRT = 1
  69. ELSE IF (DJAC.EQ.0.0D0) THEN
  70. IRRT = 2
  71. ENDIF
  72. C
  73. C MATRICE B ---> joint "standard"
  74. C
  75. C PP ATTENTION: IL FAUT PEUT-ETRE RESPECTER LA NUMEROTATION LOCALE DES
  76. C NOEUDS
  77. C
  78. CALL ZERO(BGENE,NST,LRE)
  79. DO 2 I=1,2
  80. DO 3 J=1,2
  81. DO 4 K=1,2
  82. L=2*(J-1)+K
  83. C PP M=L+4
  84. M=L+2*(2*(2-J)+1)
  85. BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  86. BGENE(I,M)=-BGENE(I,L)
  87. 4 CONTINUE
  88. 3 CONTINUE
  89. 2 CONTINUE
  90. CpPPj
  91. C
  92. C DETERMINATION DE L'EPAISSEUR EN CAS DE BESOIN
  93. C (on utilise BGENE(2,.) pour l'ouverture)
  94. C
  95. IF(EPAIST.EQ.0.D+0)THEN
  96. DO I=1,NBNO
  97. J=2*(I-1)
  98. DO K=1,2
  99. EPAIST=EPAIST+BGENE(2,J+K)*XE(K,I)
  100. ENDDO
  101. ENDDO
  102. ENDIF
  103. IF(EPAIST.LE.0.D+0)THEN
  104. IRRT = 10
  105. ENDIF
  106. CpPPj
  107.  
  108. C
  109. C MATRICE B ---> complement pour le cisaillement
  110. C
  111. DO J=1,2
  112. DO K=1,2
  113. L=2*(J-1)+K
  114. M=L+2*(2*(2-J)+1)
  115. AAAA=0.5D0*BPSS(2,K)*SHP(2,J)*EPAIST
  116. BGENE(1,L)=BGENE(1,L)+AAAA
  117. BGENE(1,M)=BGENE(1,M)+AAAA
  118. ENDDO
  119. ENDDO
  120. C
  121. C MATRICE B ---> composante de deformation dans le plan EPTT
  122. C
  123. DO J=1,2
  124. DO K=1,2
  125. L=2*(J-1)+K
  126. M=L+2*(2*(2-J)+1)
  127. BGENE(3,L)=0.5D0*BPSS(1,K)*SHP(2,J)
  128. BGENE(3,M)=BGENE(3,L)
  129. ENDDO
  130. ENDDO
  131. C
  132. C MATRICE B ---> Deformation plane generalisee
  133. C (utilisation de la seconde partie de XEL)
  134. C
  135. IF(IFOU.EQ.-3)THEN
  136. XXX=0.D0
  137. YYY=0.D0
  138. C PPj DO NP=1,NBNO
  139. DO NP=1,NBNONN
  140. C PPj XXX=XXX+SHP(1,NP)*XEL(1,NP)
  141. XXX=XXX+SHP(1,NP)*XEL(1,NP+NBNONN)
  142. C PPj YYY=YYY+SHP(1,NP)*XEL(2,NP)
  143. YYY=YYY+SHP(1,NP)*XEL(2,NP+NBNONN)
  144. ENDDO
  145. C
  146. K=2*NBNO+1
  147. BGENE(4,K )=1.D0
  148. BGENE(4,K+1)=XDPGE-XXX
  149. BGENE(4,K+2)=YYY-YDPGE
  150. ENDIF
  151. C
  152. RETURN
  153. END
  154.  
  155.  
  156.  
  157.  

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