Download bjt3g.eso

Back to the list

   1 : C BJT3G     SOURCE    CHAT      05/01/12    21:40:49     5004           
   2 :       SUBROUTINE BJT3G(IGAU,MFR,IFOU,NIFOU,XE,XEL,BPSS,SHPTOT,SHP,
   3 :      .                               EPAIST,BGENE,DJAC,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 DERIVEE DE LA ROUTINE BJO4 PAR S. FELIX
  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             "IDIM*NBNO"
  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=18,NST=6,NBNO=6)
  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
  61 :       CALL DEVOLU(XEL,SHP,MFR,NBNONN,IFOU,NIFOU,2,1.D0,RR,DJAC)
  62 :       IF (DJAC.LT.0.0D0) THEN
  63 :          IRRT = 1
  64 :       ELSE IF (DJAC.EQ.0.0D0) THEN
  65 :          IRRT = 2
  66 :       ENDIF
  67 : C
  68 : C     MATRICE B ---> joint "standard"
  69 : C
  69 :       CALL ZERO(BGENE,NST,LRE)
  70 :       DO 2 I=1,3
  71 :        DO 3 J=1,3
  72 :         DO 4 K=1,3
  73 :          L=3*(J-1)+K
  74 :          M=L+9
  75 :          BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  76 :          BGENE(I,M)=-BGENE(I,L)
  77 :     4   CONTINUE
  78 :     3  CONTINUE
  79 :     2 CONTINUE
  80 : CpPPj
  81 : C
  82 : C     DETERMINATION DE L'EPAISSEUR EN CAS DE BESOIN 
  83 : C     (on utilise BGENE(3,.) pour l'ouverture)
  84 : C
  85 :       IF(EPAIST.EQ.0.D+0)THEN
  86 :         DO I=1,NBNO
  87 :           J=3*(I-1)
  88 :           DO K=1,3
  89 :             EPAIST=EPAIST+BGENE(3,J+K)*XE(K,I)
  90 :           ENDDO
  91 :         ENDDO
  92 :       ENDIF
  93 :       IF(EPAIST.LE.0.D+0)THEN
  94 :         IRRT = 10
  95 :       ENDIF
  96 : CpPPj
  97 : C
  98 : C     MATRICE B ---> complement pour le cisaillement
  99 : C
 100 :       DO I=1,2
 101 :         DO J=1,3
 102 :           DO K=1,3
 103 :             L=3*(J-1)+K
 104 :             M=L+9
 105 :             AAAA=0.5D0*BPSS(3,K)*SHP(I+1,J)*EPAIST   
 106 :             BGENE(I,L)=BGENE(I,L)+AAAA
 107 :             BGENE(I,M)=BGENE(I,M)+AAAA
 108 :           ENDDO
 109 :         ENDDO
 110 :       ENDDO
 111 : C
 112 : C     MATRICE B ---> composante de deformation axiales dans le plan
 113 : C
 114 :       DO I=1,2
 115 :         DO J=1,3
 116 :           DO K=1,3
 117 :             L=3*(J-1)+K
 118 :             M=L+9
 119 :             BGENE(I+3,L)=0.5D0*BPSS(I,K)*SHP(I+1,J)
 120 :             BGENE(I+3,M)=BGENE(I+3,L)
 121 :           ENDDO
 122 :         ENDDO
 123 :       ENDDO
 124 : C
 125 : C     MATRICE B ---> composante de cisaillement (gamma) dans le plan
 126 : C
 127 :       DO J=1,3
 128 :         DO K=1,3
 129 :           L=3*(J-1)+K
 130 :           M=L+9
 131 :           BGENE(6,L)=0.5D0*BPSS(1,K)*SHP(2+1,J)
 132 :      >                +0.5D0*BPSS(2,K)*SHP(1+1,J)
 133 :           BGENE(6,M)=BGENE(6,L)
 134 :         ENDDO
 135 :       ENDDO
 136 : C
 137 :       RETURN
 138 :       END
 139 : 
 140 : 
 141 : 
 142 :  
 143 :  

© Cast3M 2003 - All rights reserved.
Disclaimer