Download dohfis1.eso

Back to the list

   1 : C DOHFIS1   SOURCE    CHAT      05/01/12    22:53:32     5004           
   2 :       SUBROUTINE DOHFIS1(VALMAT,VALCAR,MATE,IFOU,LHOOK,DDHOOK,IRET)
   3 : C     
   4 : C=======================================================================
   5 : C     
   6 : C  MATRICE DE HOOK DU TUYAU FISSURE
   7 : C     
   8 : C  ENTREES
   9 : C     VALMAT() = materiau dans un tableau de travail
  10 : C     VALCAR() = caracteristiques geom. dans un tableau de travail
  11 : C     MATE   = Nom du materiau
  12 : C     IFOU   = num{ro d'harmonique de  fourier: IFOUR de CCOPTIO
  13 : C     LHOOK  = taille de la matrice de hooke
  14 : C     
  15 : C  SORTIES
  16 : C     DDHOOK(LHOOK,LHOOK) = matrice de hooke
  17 : C     IRET = 1 si option existante 0 SINON
  18 : C     
  19 : C     Passage en nouveau CHAMELEM par I.Monnier le 4 05 90
  20 : C=======================================================================
  21 : C     
  22 :       IMPLICIT INTEGER(I-N)
  23 :       IMPLICIT REAL*8(A-H,O-Z)
  24 : C    Include contenant quelques constantes dont XPI :
  25 : -INC CCREEL
  26 :       PARAMETER(UNDEMI=.5D0)
  27 :       PARAMETER(UN=1.D0,DEUX=2.D0)
  28 :       PARAMETER(D6=1.D06)
  29 :       CHARACTER*8 MATE
  30 : C     
  31 :       DIMENSION VALMAT(*),VALCAR(*),DDHOOK(LHOOK,*)
  32 : C     
  33 :       IRET=1
  33 :       CALL ZERO(DDHOOK,LHOOK,LHOOK)
  34 : C     
  35 : C      MATERIAU ISOTROPE
  36 : C     
  37 :       IF(MATE.EQ.'ISOTROPE') THEN
  38 : C     
  39 : C       TRIDIMENSIONNEL
  40 : C     
  41 :          IF(IFOU.EQ.2) THEN
  42 :             YOU=VALMAT(1)
  43 :             XNU=VALMAT(2)
  44 :             CISA  = YOU /(DEUX *(UN + XNU))
  45 :             RAYO=VALCAR(1)
  46 :             EPAI=VALCAR(2)
  47 :             TETA1=VALCAR(9)*UNDEMI
  48 : 
  49 : C     CONVERSION DE TETA1 EN RADIAN
  50 :             TETA = (TETA1 * XPI)/180.D0
  51 :             TESPI = TETA/XPI
  52 : C     ON MET DANS 'RAYMO' LE RAYON MOYEN DU TUYAU.
  53 :             RAYMO =RAYO  - (EPAI/DEUX)
  54 : C     CALCUL DE A   COEFIICIENT ZAHOR
  55 :             RSURT=RAYMO / EPAI
  56 :             IF(RSURT.LE.10.D0.AND.RSURT.GE.4.9D0) THEN
  57 :                AXX = ( .125D0*RSURT - .25D0 ) **.25D0
  58 :             ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN
  59 :                AXX = ( .4D0*RSURT - 3.D0 ) **.25D0
  60 :             ELSE
  61 :                KERRE=3
  62 :             ENDIF
  63 : C     
  64 : C     INITIALISATION DES TERMES DE PENALISATION
  65 : C     
  66 :             PPFX = DEUX * XPI * EPAI * YOU  * RAYMO * D6
  67 :             PPFY = DEUX * XPI * EPAI * CISA * RAYMO * D6
  68 :             PPFZ = PPFY
  69 :             PPMX = DEUX * XPI * EPAI * CISA * (RAYMO**2) * D6
  70 :             PPMY = YOU * XPI * EPAI * (RAYMO**2) * D6
  71 :             PPMZ = PPMY
  72 :             IF (TETA1.LE.(0.5D0)) THEN
  73 :                RR11 = PPFX
  74 :                RR16 = XZERO
  75 :                RR66 = PPMZ
  76 :             ELSE
  76 :                CALL TUFIFP(TESPI,AXX,FP,FM,FMP,FOP,FOM)
  77 :                DENOM = FP*FM - FMP*FMP
  78 :                COEF = (YOU * XPI * EPAI)/(DENOM * (TETA**2))
  79 :                RR11 =  COEF * DEUX * FM
  80 :                RR16 =  COEF * RAYMO * FMP
  81 :                RR66 =  COEF * (RAYMO**2) * FP *UNDEMI
  82 :             ENDIF
  83 : C     
  84 :             DDHOOK(1,1)=RR11
  85 :             DDHOOK(1,6)=RR16
  86 :             DDHOOK(2,2)=PPFY
  87 :             DDHOOK(3,3)=PPFZ
  88 :             DDHOOK(4,4)=PPMX
  89 :             DDHOOK(5,5)=PPMY
  90 :             DDHOOK(6,1)=DDHOOK(1,6)
  91 :             DDHOOK(6,6)=RR66
  92 :          ELSE
  93 :             IRET=0
  94 :          ENDIF
  95 :       ELSE
  96 :          IRET=0
  97 :       ENDIF
  98 :       RETURN
  99 :       END
 100 : 
 101 : 
 102 :  
 103 :  
 104 :  

© Cast3M 2003 - All rights reserved.
Disclaimer