Download calcrtg2.eso

Back to the list

   1 : C CALCRTG2  SOURCE    BR232186  12/10/04    21:15:10     7520           
   2 :       SUBROUTINE CALCRTG2 (EPSIM,EPSIF,XGAMMT,XGAMMC,XGAMF,XALFA,XLAMM,
   3 :      &                     XMUM,XLAMF,XMUF,XD1,XD2,XEPS33,DR2DD2)
   4 : C
   5 : C====&===1=========2=========3=========4=========5=========6=========7==
   6 : C Commentaires :   Subroutine permettant de calculer l'operateur tangent
   7 : C                  dR2/dd2
   8 : C                  Appelé par la routine lcgldm.eso
   9 : C
  10 : C Auteur       : B. Richard (Dr - Ing.) - CEA/DEN/DANS/DM2S/SEMT/EMSI
  11 : C====&===1=========2=========3=========4=========5=========6=========7==
  12 : C
  13 : C----DECLARATION GENERALES----------------------------------------------
  14 : C
  15 :       IMPLICIT INTEGER(I-N)
  16 :       IMPLICIT REAL*8(A-H,O-Z)
  17 :       
  18 :       REAL*8 VAPM(3),VEPM(3,3),VAPF(3),VEPF(3,3)
  19 :       REAL*8 EPSIM(3,3),EPSIF(3,3)
  20 : 
  21 : C     Calcul des traces
  22 :       XTRA = EPSIM(1,1)+EPSIM(2,2)
  23 :       XTRAK = EPSIF(1,1)+EPSIF(2,2)
  24 : 
  25 : C     Calcul des valeurs propres
  25 :       CALL JACOB4(EPSIM,2,VAPM,VEPM)
  25 :       CALL JACOB4(EPSIF,2,VAPF,VEPF)
  26 : 
  27 : C     Calcul des constantes GM, GM1 et GM2
  27 :       CALL CALCGM(XTRA,XGAMMT,XGAMMC,XGM)
  27 :       CALL CALCGM(VAPM(1),XGAMMT,XGAMMC,XGM1)
  27 :       CALL CALCGM(VAPM(2),XGAMMT,XGAMMC,XGM2)
  28 : 
  29 : C     Calcul de dxim/dd2
  30 :       DXIMD2 = -1.0D0*XGM/(2.0D0*(1.0D0+XD2)**2.0D0)
  31 : 
  32 : C     Calcul de XIM
  32 :       CALL CALCXIM(XTRA,XGAMMT,XGAMMC,XD1,XD2,XIM)
  33 :          
  34 : C     Calcul de deps33/dd2
  35 :       DEP33D2 = (2.0D0*XLAMM*XMUM*XTRA)/
  36 :      &          ((2.0D0*XMUM+XLAMM*XIM)**2.0D0)
  37 : 
  38 :       DEP33D2 = DEP33D2*DXIMD2
  39 : 
  40 : C     Calcul du residu 2 lié à XD2 en trois parties
  41 :       XPART21 = 1.0D0/((1.0D0+XD2)**2.0D0)*(XLAMM/2.0D0*
  42 :      &         (XTRA+XEPS33)*XGM)*DEP33D2
  43 :      
  44 :       XPART22 = 2.0D0/((1.0D0+XD2)**3.0D0)*(XLAMM/4.0D0*
  45 :      &         (XTRA+XEPS33)**2.0D0)*XGM+XMUM/2.0D0*
  46 :      &         (((VAPM(1)**2.0D0)*XGM1)+((VAPM(2)**2.0D0)*XGM2))
  47 : 
  48 :       IF (XTRAK.LT.0.0D0) THEN
  49 :          IF ((VAPF(1).LT.0.0D0).AND.(VAPF(2).LT.0.0D0)) THEN
  50 :             XCONS1 = 0.0D0
  51 :             XCONS2 = 0.0D0
  52 :             XCONS3 = 0.0D0
  53 :          ENDIF
  54 :       
  55 :          IF ((VAPF(1).LT.0.0D0).AND.(VAPF(2).GE.0.0D0)) THEN
  56 :             XCONS1 = 0.0D0
  57 :             XCONS2 = 0.0D0
  58 :             XCONS3 = VAPF(2)**2.0D0
  59 :          ENDIF
  60 :       
  61 :          IF ((VAPF(1).GE.0.0D0).AND.(VAPF(2).LT.0.0D0)) THEN
  62 :             XCONS1 = 0.0D0
  63 :             XCONS2 = VAPF(1)**2.0D0
  64 :             XCONS3 = 0.0D0
  65 :          ENDIF
  66 : 
  67 :          IF ((VAPF(1).GE.0.0D0).AND.(VAPF(2).GE.0.0D0)) THEN
  68 :             XCONS1 = 0.0D0
  69 :             XCONS2 = VAPF(1)**2.0D0
  70 :             XCONS3 = VAPF(2)**2.0D0
  71 :          ENDIF
  72 :       ELSE
  73 :          IF ((VAPF(1).LT.0.0D0).AND.(VAPF(2).LT.0.0D0)) THEN
  74 :             XCONS1 = XTRAK**2.0D0
  75 :             XCONS2 = 0.0D0
  76 :             XCONS3 = 0.0D0
  77 :          ENDIF
  78 :       
  79 :          IF ((VAPF(1).LT.0.0D0).AND.(VAPF(2).GE.0.0D0)) THEN
  80 :             XCONS1 = XTRAK**2.0D0
  81 :             XCONS2 = 0.0D0
  82 :             XCONS3 = VAPF(2)**2.0D0
  83 :          ENDIF
  84 :       
  85 :          IF ((VAPF(1).GE.0.0D0).AND.(VAPF(2).LT.0.0D0)) THEN
  86 :             XCONS1 = XTRAK**2.0D0
  87 :             XCONS2 = VAPF(1)**2.0D0
  88 :             XCONS3 = 0.0D0
  89 :          ENDIF
  90 : 
  91 :          IF ((VAPF(1).GE.0.0D0).AND.(VAPF(2).GE.0.0D0)) THEN
  92 :             XCONS1 = XTRAK**2.0D0
  93 :             XCONS2 = VAPF(1)**2.0D0
  94 :             XCONS3 = VAPF(2)**2.0D0
  95 :          ENDIF
  96 :       ENDIF
  97 : 
  98 :       XPART23 = ((2.0D0*XALFA*(1.0D0-XGAMF))/(XALFA+XD2)**3.0D0)*
  99 :      &         (XLAMF/2.0D0*XCONS1+XMUF*(XCONS2+XCONS3))
 100 :          
 101 :       DR2DD2 = XPART21-XPART22-XPART23   
 102 : 
 103 :       RETURN
 104 :       END
 105 :       
 106 :       
 107 :       
 108 :        
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer