Télécharger bco2.eso

Retour à la liste

Numérotation des lignes :

  1. C BCO2 SOURCE LJ1 14/11/13 21:15:03 8249
  2.  
  3. SUBROUTINE BCO2(IGAU,MFR,IFOU,NIFOU,XEL,BPSS,SHPTOT,SHP,
  4. . BGENE,DJAC,IRRT,IDIM)
  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 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 : ATTENTION : DANS LES CAS CONTRAINTES PLANES ET
  37. C AXISYMETRIQUE, LA MATRICE BPSS ( RESPECTIVEMENT BGENE )
  38. C N'A PLUS LA DIMENSION (3X3) ( RESPECTIVEMENT (3X18) ).
  39. C TROUVER LEURS DIMENSIONS CORRECTES ET MODIFIER LES
  40. C PARAMETRES LRE, NST, NBNO. CEUX CI CORRESPONDRONT A
  41. C CEUX DU CAS BIDIMENSIONNELS.
  42. C
  43. C=======================================================================
  44. IMPLICIT INTEGER(I-N)
  45. IMPLICIT REAL*8(A-H,O-Z)
  46. PARAMETER (LRE=12,NST=3,NBNO=4,XZero=0.,XUn=1.)
  47. DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
  48. DIMENSION BPSS(3,3)
  49. C
  50. IRRT = 0
  51. C
  52. C MATRICE JACOBIENNE
  53. C
  54. DO 1 I=1,NBNO
  55. SHP(1,I) = SHPTOT(1,I,IGAU)
  56. SHP(2,I) = SHPTOT(2,I,IGAU)
  57. 1 CONTINUE
  58. C
  59. C !!!!!! ATTENTION : IL FAUT CALCULER LE JACOBIEN AVEC NBNO=4 !!!!!!
  60. C IL NE FAUT SURTOUT PAS METTRE NBNO=4 CAR CA FAUSSE ALORS
  61. C LES RESULTATS ... NBNO DOIT ETRE EGAL A 4 CAR IL YA 4 NOEUDS
  62. C
  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. C
  83. C MATRICE B
  84. C
  85. CALL ZERO(BGENE,NST,LRE)
  86. DO 2 I=1,IDIM
  87. DO 3 J=1,2
  88. DO 4 K=1,IDIM
  89. L=3*(J-1)+K
  90. M=L+6
  91. BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  92. BGENE(I,M)=-BGENE(I,L)
  93. 4 CONTINUE
  94. 3 CONTINUE
  95. 2 CONTINUE
  96. C
  97. RETURN
  98. END
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  

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