Download bjo2.eso

Back to the list

   1 : C BJO2      SOURCE    CHAT      05/01/12    21:40:22     5004           
   2 :        SUBROUTINE BJO2(IGAU,MFR,IFOU,NIFOU,XEL,BPSS,SHPTOT,SHP,
   3 :      .                                   BGENE,DJAC,IRRT)                                
   4 : C=======================================================================        
   5 : C      
   6 : C     CALCUL DE LA MATRICE B = TETA * ( N , -N )
   7 : C     ET DU JACOBIEN EN IGAU POUR UN JOINT 2D                                                                                                                                
   8 : C          ROUTINE FORTRAN PUR                                                  
   9 : C          CODE S. FELIX MAI 92                                                
  10 : C=======================================================================        
  11 : C  INPUT                                                                                                                                                                                                        
  12 : C     IGAU  = NUMERO DU POINT DE GAUSS
  13 : C     MFR   = NUMERO DE LA FORMULATION 
  14 : C     XEL   = COORDONNEES DES NOEUDS DE L'ELEMENT
  15 : C     BPSS  = MATRICE DE PASSAGE
  16 : C             BPSS(,) = AXE S1
  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
  33 : C     NST   = NOMBRE DE COMPOSANTES DE CONTRAINTES   
  34 : C
  35 : C  REMARQUE : CE SOUS-PROGRAMME EST VALABLE EN CONTRAINTES PLANES,
  36 : C             DEFORMATIONS PLANES ET AXISYMETRIQUES. LA MATRICE
  37 : C                     BGENE = TETA ( Ntop , - Nbot )
  38 : C             EST UNE MATRICE (2x8). EN EFFET, TETA EST UNE MATRICE
  39 : C             (2x2), ET ( Ntop , - Nbot ) EST UNE MATRICE (2x8). 
  40 : C             LA MATRICE TETA EST ICI APPELEE BPSS.
  41 : C                                                                                                                                                                               
  42 : C=======================================================================        
  43 :       IMPLICIT INTEGER(I-N)
  44 :       IMPLICIT REAL*8(A-H,O-Z)
  45 :       PARAMETER (LRE=8,NST=2,NBNO=4)                                                   
  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=2 !!!!!!
  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 :       NBNONN=NBNO/2
  62 :       CALL DEVOLU(XEL,SHP,MFR,NBNONN,IFOU,NIFOU,1,1.D0,RR,DJAC)
  63 :        
  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
  72 : C PP ATTENTION: IL FAUT PEUT-ETRE RESPECTER LA NUMEROTATION LOCALE DES
  73 : C               NOEUDS
  74 : C
  74 :       CALL ZERO(BGENE,NST,LRE)
  75 :       DO 2 I=1,2
  76 :        DO 3 J=1,2
  77 :         DO 4 K=1,2
  78 :          L=2*(J-1)+K
  79 : C PP     M=L+4
  80 :          M=L+2*(2*(2-J)+1)
  81 :          BGENE(I,L)=BPSS(I,K)*SHP(1,J)
  82 :          BGENE(I,M)=-BGENE(I,L)
  83 :     4   CONTINUE
  84 :     3  CONTINUE
  85 :     2 CONTINUE
  86 : C
  87 :       RETURN
  88 :       END
  89 :  
  90 :  

© Cast3M 2003 - All rights reserved.
Disclaimer