Télécharger bco2.eso

Retour à la liste

Numérotation des lignes :

bco2
  1. C BCO2 SOURCE AM 19/04/30 21:15:00 10215
  2.  
  3. SUBROUTINE BCO2(IGAU,MFR,IFOU,NIFOU,XEL,BPSS,SHPTOT,SHP,
  4. . BGENE,DJAC,IRRT,IDIM,NBNO,NST,LRE)
  5. C=======================================================================
  6. C
  7. C CALCUL DE LA MATRICE B = TETA * ( N , -N )
  8. C ET DU JACOBIEN EN IGAU
  9. C ROUTINE FORTRAN PUR
  10. C DERIVEE DE LA ROUTINE BJO4 PAR S. FELIX
  11. C=======================================================================
  12. C INPUT
  13. C IGAU = NUMERO DU POINT DE GAUSS
  14. C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT
  15. C BPSS = MATRICE DE PASSAGE
  16. C BPSS(,) = AXE S1
  17. C BPSS(,) = AXE S2
  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 NBNO = NOMBRE DE NOEUDS
  32. C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES
  33. C LRE = NOMBRE DE COLONNES DE LA MATRICE B
  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 (3X18) ).
  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.
  41. C
  42. C=======================================================================
  43. IMPLICIT INTEGER(I-N)
  44. IMPLICIT REAL*8(A-H,O-Z)
  45. PARAMETER (XZero=0.,XUn=1.)
  46. DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
  47. DIMENSION BPSS(3,3)
  48. C
  49. IRRT = 0
  50. C
  51. C MATRICE JACOBIENNE
  52. C
  53. DO 1 I=1,NBNO
  54. SHP(1,I) = SHPTOT(1,I,IGAU)
  55. SHP(2,I) = SHPTOT(2,I,IGAU)
  56. 1 CONTINUE
  57. C
  58. C !!!!!! ATTENTION : IL FAUT CALCULER LE JACOBIEN AVEC NBNO=4 !!!!!!
  59. C IL NE FAUT SURTOUT PAS METTRE NBNO=4 CAR CA FAUSSE ALORS
  60. C LES RESULTATS ... NBNO DOIT ETRE EGAL A 4 CAR IL YA 4 NOEUDS
  61. C
  62.  
  63. NBNONN=NBNO/2
  64. CALL DEVOLU(XEL,SHP,MFR,NBNONN,IFOU,NIFOU,1,1.D0,RR,DJAC)
  65. DJac=XZero
  66. dJInv=XZero
  67. DO i=1,NBNONN
  68. DJac=DJac+SHP(2,i)*XEL(1,i)
  69. ENDDO
  70. IF (DJac.NE.XZero) dJInv=XUn/DJac
  71. DO i=1,NBNONN
  72. SHP(2,i)=SHP(2,i)*dJInv
  73. ENDDO
  74. IF (DJAC.LT.0.0D0) THEN
  75. IRRT = 1
  76. ELSE IF (DJAC.EQ.0.0D0) THEN
  77. IRRT = 2
  78. ELSE IF (DJAC.GT.0.0D0) THEN
  79. IRRT = 0
  80. DJAC = 0.5
  81. ENDIF
  82.  
  83. C
  84. C MATRICE B
  85. C
  86. CALL ZERO(BGENE,NST,LRE)
  87. DO 2 I=1,IDIM
  88. DO 3 J=1,2
  89. DO 4 K=1,IDIM
  90.  
  91. ** AM 30/04/19
  92. ** L=3*(J-1)+K
  93. ** M=L+6
  94. L=IDIM*(J-1)+K
  95. M=L+2*IDIM
  96. BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  97. BGENE(I,M)=-BGENE(I,L)
  98. 4 CONTINUE
  99. 3 CONTINUE
  100. 2 CONTINUE
  101. C
  102.  
  103. RETURN
  104. END
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  

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