Download bjo4.eso

Back to the list

   1 : C BJO4      SOURCE    CHAT      05/01/12    21:40:36     5004           
   2 :       SUBROUTINE BJO4(IGAU,XEL,BPSS,SHPTOT,SHP,BGENE,DJAC,IRRT)                                
   3 : C=======================================================================        
   4 : C      
   5 : C     CALCUL DE LA MATRICE B = TETA * ( N , -N )
   6 : C     ET DU JACOBIEN EN IGAU                                                                                                                                 
   7 : C          ROUTINE FORTRAN PUR                                                  
   8 : C          CODE S. FELIX MAI 92                                                
   9 : C=======================================================================        
  10 : C  INPUT                                                                                                                                                                                                        
  11 : C     IGAU  = NUMERO DU POINT DE GAUSS
  12 : C     XEL   = COORDONNEES DES NOEUDS DE L'ELEMENT
  13 : C     BPSS  = MATRICE DE PASSAGE
  14 : C             BPSS(,) = AXE S1
  15 : C             BPSS(,) = AXE S2
  16 : C             BPSS(,) = AXE SN
  17 : C     SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE
  18 : C             SHPTOT(1, ) = FONCTION DE FORME
  19 : C             SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI
  20 : C             SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA
  21 : C  OUTPUT
  22 : C     SHP   = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE
  23 : C             SHP(1, ) = FONCTION DE FORME
  24 : C             SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL
  25 : C             SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL
  26 : C     DJAC  = JACOBIEN AU POINT D'INTEGRATION IGAU
  27 : C     BGENE = MATRICE B AU POINT D'INTEGRATION IGAU
  28 : C     IRRT  = DIFFERENT DE ZERO SI ERREUR
  29 : C  CONSTANTES
  30 : C     NBNO  = NOMBRE DE NOEUDS
  31 : C     LRE   = NOMBRE DE COLONNES DE LA MATRICE B
  32 : C     NST   = NOMBRE DE COMPOSANTES DE CONTRAINTES   
  33 : C
  34 : C  REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES ET
  35 : C             AXISYMETRIQUE, LA MATRICE BPSS ( RESPECTIVEMENT BGENE )
  36 : C             N'A PLUS LA DIMENSION (3X3) ( RESPECTIVEMENT (3X24) ). 
  37 : C             TROUVER LEURS DIMENSIONS CORRECTES ET MODIFIER LES
  38 : C             PARAMETRES LRE, NST, NBNO. CEUX CI CORRESPONDRONT A 
  39 : C             CEUX DU CAS BIDIMENSIONNELS. AINSI PAR EXEMPLE, NBNO
  40 : C             SERA EGAL A 4, NST SERA EGAL A 2 ETC ...
  41 : C                                                                                                                                                                               
  42 : C=======================================================================        
  43 :       IMPLICIT INTEGER(I-N)
  44 :       IMPLICIT REAL*8(A-H,O-Z)
  45 :       PARAMETER (LRE=24,NST=3,NBNO=8)                                                   
  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 :        SHP(3,I) = SHPTOT(3,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=8 CAR CA FAUSSE ALORS
  61 : C        LES RESULTATS ... NBNO DOIT ETRE EGAL A 8 CAR IL YA 8 NOEUDS
  62 : C
  63 :       NBNONN=NBNO/2
  63 :       CALL JACOBI(XEL,SHP,2,NBNONN,DJAC)
  64 :       IF (DJAC.LT.0.0D0) THEN
  65 :          IRRT = 1
  66 :       ELSE IF (DJAC.EQ.0.0D0) THEN
  67 :          IRRT = 2
  68 :       ENDIF 
  69 : C
  70 : C     MATRICE B
  71 : 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 : C
  83 :       RETURN
  84 :       END
  85 :  

© Cast3M 2003 - All rights reserved.
Disclaimer