Download barbs3.eso

Back to the list

   1 : C BARBS3    SOURCE    CHAT      05/01/12    21:33:26     5004           
   2 : C BARBS3    SOURCE    CHAT      89/05/26    22:56:13
   3 :       SUBROUTINE BARBS3(FORCE,XE,CONTG,KERRE,QSIGAU,POIGAU,NBPGAU,IB)
   4 : C-----------------------------------------------------------------------        
   5 : C  ROUTINE DE CALCUL DES FORCES INTERNES B*SIGMA                                
   6 : C             POUR LA BARRE                                                     
   7 : C                                                                               
   8 : C  ENTREE                                                                       
   9 : C          EFFORT  L'EFFORT DANS LA BARRE                                       
  10 : C          XE   XEONNEES DES 2 NOEUDS                                     
  11 : C                                                                               
  12 : C  SORTIE                                                                       
  13 : C          FORCE   FORCES INTERNES                                              
  14 : C          KERRE   INDICE D'ERREUR ( 0 SI PAS DE PB )                           
  15 : C                                                                               
  16 : C-----------------------------------------------------------------------        
  17 :       IMPLICIT INTEGER(I-N)
  18 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  19 : -INC CCOPTIO
  20 :       DIMENSION XE(3,*),V(3),FORCE(*),CONTG(*)
  21 :       DIMENSION QSIGAU(*),POIGAU(*),B3(3),FL(3)
  22 : C                                                                               
  23 :       KERRE=0                                                                   
  24 :       V(3)=0.D0                                                                   
  25 :       DO 1 I=1,IDIM                                                             
  26 :   1   V(I)=XE(I,3)-XE(I,1)
  27 :       XL=(V(1)*V(1)+V(2)*V(2)+V(3)*V(3))                                        
  28 :       XL=DSQRT(XL)                                                               
  29 :       IF(XL.LE.0.D0) GO TO 999                                                    
  30 : *
  31 :       SECT=1.D0
  31 :       CALL ZERO(FL,3,1)
  32 :       DO 5 IGAU=1,NBPGAU
  33 :          ATDH=SECT*POIGAU(IGAU)*XL/2.D0
  34 :          X1=XL/2.D0*(QSIGAU(IGAU)+1.D0)
  35 :          B3(1)=(4.D0*X1/XL-3.D0)/XL
  36 :          B3(2)=(4.D0-8.D0*X1/XL)/XL
  37 :          B3(3)=(4.D0*X1/XL-1.D0)/XL
  38 :          DO 3 I=1,3
  39 :            FL(I)=FL(I)+B3(I)*CONTG(IGAU)*ATDH
  40 :   3      CONTINUE
  41 :   5   CONTINUE
  42 : C
  43 : C  REMPLISSAGE DU VECTEUR FORCE
  44 : C
  45 :       DO 2 IN=1,3
  46 :       DO 2 I=1,IDIM
  47 :         IG=(IN-1)*IDIM+I
  48 :         FORCE(IG)=V(I)*FL(IN)/XL
  49 :   2   CONTINUE
  50 : C--------------------------------------------
  51 : *      NRE=LRE
  52 : *      WRITE(*,*) '**  B BAR3 (dans barbs3)** ELEME:',IB
  53 : *      WRITE(*,1991) (B3(IC),IC=1,3)
  54 : *      WRITE(*,*) '**  CONTG BAR3 (dans barbs3)** '
  55 : *      WRITE(*,1991) (CONTG(IC),IC=1,3)
  56 : *      WRITE(*,*) '**  FL LOCAL BAR3 (dans barbs3)** '
  57 : *      WRITE(*,1991) (FL(IC),IC=1,3)
  58 : *      WRITE(*,*) '**  FORCE GLOBAL BAR3 (dans barbs3)** '
  59 : *      WRITE(*,1991) (FORCE(IC),IC=1,NRE)
  60 : *1991  FORMAT(18(1X,E12.5))
  61 : C--------------------------------------------
  62 :       RETURN                                                                    
  63 : 999   KERRE=1                                                                   
  64 :       RETURN                                                                    
  65 :       END                                                                       
  66 :  
  67 :  

© Cast3M 2003 - All rights reserved.
Disclaimer