Download maxrot.eso

Back to the list

   1 : C MAXROT    SOURCE    AM        08/02/14    21:26:37     6050           
   2 :       SUBROUTINE MAXROT(WTRAV,MFR,IB,IGAU,NBGMAT,NELMAT,NPINT)
   3 : C
   4 : C  ROTATION DES TENSEURS POUR MAXWEL
   5 : C  SI MATE UNIDIRECTIONNEL
   6 : C       INSPIRE DE HOOKUN
   7 : C
   8 :       IMPLICIT INTEGER(I-N)
   9 :       IMPLICIT REAL*8(A-H,O-Z)
  10 :       PARAMETER(UN=1.D0,DEUX=2.D0,UNDEMI=.5D0)
  11 : C
  12 : -INC CCHAMP                                                                     
  13 : -INC CCOPTIO                                                                    
  14 : 
  15 : 
  16 : 
  17 :       SEGMENT WTRAV
  18 :         REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  19 :         REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  20 :         REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  21 :         REAL*8 XLOC(IDIM,IDIM),XGLOB(IDIM,IDIM)
  22 :         REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  23 :       ENDSEGMENT
  24 : *
  25 : 
  26 : 
  27 : C
  28 : C     INITIALISATION 
  29 : C                                                                               
  29 :         CALL ZERO(XGLOB,IDIM,IDIM)                                                
  30 : 
  31 : ***********************
  32 : *    CAS MASSIF
  33 : ***********************
  34 : *
  35 :       IF (MFR.EQ.1.OR.MFR.EQ.33) THEN
  36 : 
  37 :         IF(IGAU.LE.NBGMAT) THEN
  38 : 
  39 :           IF(IDIM.EQ.2)THEN
  40 : C
  41 : C    DEFINITION DES AXES ORTHO./AXES LOCAUX                                     
  42 : C
  43 : 
  44 :             XLOC(1,1)=VALMAT(2)
  45 :             XLOC(2,1)=VALMAT(3)
  46 :             XLOC(1,2)=-XLOC(2,1)
  47 :             XLOC(2,2)=XLOC(1,1)
  48 : 
  49 :           ELSEIF(IDIM.EQ.3)THEN
  50 :             XLOC(1,1)=VALMAT(2)
  51 :             XLOC(2,1)=VALMAT(3)
  52 :             XLOC(3,1)=VALMAT(4)
  53 :             XLOC(1,2)=VALMAT(5)
  54 :             XLOC(2,2)=VALMAT(6)
  55 :             XLOC(3,2)=VALMAT(7)
  56 : C                                                                               
  56 :             CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  57 :             IF(IRR.EQ.0) THEN
  57 :                CALL ERREUR(277)
  58 :                RETURN
  59 :             ENDIF
  60 :           ENDIF
  61 : 
  62 : 
  63 : 
  64 : C 
  65 : C         DEFINITION DES AXES ORTHO./AXES GLOBAUX
  66 : C                                                                               
  67 :           DO 1045  K=1,IDIM
  68 :             DO 1045 J=1,IDIM
  69 :               DO 1045 I=1,IDIM
  70 :                 XGLOB(K,J)=TXR(J,I)*XLOC(I,K)+XGLOB(K,J)
  71 :  1045     CONTINUE
  72 : 
  73 :         ENDIF
  74 : C                                                                               
  75 : C
  76 :        ELSEIF (IGAU.LE.NBGMAT.AND.
  77 :      +          (IB.LE.NELMAT.OR.NBGMAT.GT.1)) THEN 
  78 : C
  79 : C  MLR 12/8/99
  80 : C  POUR LE MOMENT ON BLOQUE LE RESTE
  81 : C   A BRANCHER PLUS TARD ...!
  82 : C
  83 :        IZOB=0
  84 :        IF(IZOB.EQ.0) THEN
  84 :           CALL ERREUR (251)
  85 :           RETURN
  86 :        ENDIF
  87 : 
  88 : 
  89 : 
  90 : 
  91 : C
  92 : C  Coques minces
  93 : C
  94 :          IF(MFR.EQ.3) THEN 
  95 : C                                                                               
  96 : C     CAS DKT INTEGRE                                          
  97 : C 
  98 :           IF (NPINT.NE.0) THEN
  99 : * CAS NON ENCORE IMPLEMENTE
  99 :             CALL ERREUR (251)
 100 :             RETURN
 101 :           ELSE
 102 : C                                                                               
 103 : C     CAS TRIDIMENSIONNEL  ET FOURIER                                           
 104 : C                                                                               
 105 :           IF(IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN
 106 : *PV D3HOO1 n'existe pas !!!
 106 : *          CALL ZERO(D3HOO1,3,3)
 107 :            COSA=VALMAT(2)                                                           
 108 :            SINA=VALMAT(3)
 109 : C                                                                               
 110 :            COS2 = COSA**2                                                         
 111 :            SIN2 = SINA**2                                                         
 112 :            SINCOS = SINA * COSA                                                   
 113 : C                                                                               
 114 : C                                                                               
 115 : C                                                                               
 116 : C     CAS AXISYMETRIQUE ET DEFORMATIONS PLANES                                  
 117 : C                                                                               
 118 :           ELSE IF(IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
 119 :      &            IFOUR.EQ.-3) THEN
 120 :            COSA=VALMAT(2)                                                           
 121 :            SINA=VALMAT(3)
 122 :             COS2 = COSA**2                                                         
 123 :             SIN2 = SINA**2                                                         
 124 : C                                                                               
 125 : C                                                                               
 126 : C     CAS CONTRAINTES PLANES                                                    
 127 : C                                                                               
 128 :           ELSE IF(IFOUR.EQ.-2) THEN
 129 : ********   DDHOOK(1,1)=YG1
 130 : ********   DDHOOK(3,3)=YG1
 131 : C                                                                               
 132 :           ELSE                                                                      
 133 :             IRET=0                                                                    
 134 :           ENDIF  
 135 :           ENDIF                                                 
 136 : C
 137 : C  Coques epaisses
 138 : C
 139 :          ELSE IF(MFR.EQ.5) THEN   
 140 : C                                                                               
 141 : C     CAS TRIDIMENSIONNEL                                                       
 142 : C                                                                               
 143 :           IF(IFOUR.EQ.2) THEN
 144 :             COSA=VALMAT(2)                                                        
 145 :             SINA=VALMAT(3)
 146 : C 
 147 :             COS2 = COSA**2                                                         
 148 :             SIN2 = SINA**2                                                         
 149 :             SINCOS = SINA * COSA                                                   
 150 : C                                                                               
 151 : C              
 152 :           ELSE                                                                      
 153 :            IRET=0                                                                    
 154 :           ENDIF                                                                     
 155 : C                      
 156 : C  Coques minces avec cisaillement transverse
 157 : C
 158 :          ELSE IF(MFR.EQ.9) THEN   
 159 : C
 160 :            IF(IFOUR.EQ.2) THEN
 161 :             COSA=VALMAT(2)                                                        
 162 :             SINA=VALMAT(3) 
 163 : C                                                                               
 164 :             COS2 = COSA**2                                                         
 165 :             SIN2 = SINA**2                                                         
 166 :             SINCOS = SINA * COSA                                                   
 167 : C                                                                                
 168 : C
 169 :            ELSE                                                                      
 170 :             IRET=0                                                                    
 171 :            ENDIF                                                                     
 172 : C
 173 : C  Cas des barres
 174 : C
 175 :          ELSE IF(MFR.EQ.27) THEN
 176 : C
 177 : C      RIEN A FAIRE
 178 : C
 179 :          ELSE 
 180 :           IRET=0        
 181 :           GOTO 2035                                                      
 182 :          ENDIF
 183 :         ENDIF
 184 : C
 185 :  2035 RETURN             
 186 : 
 187 :       END
 188 : 
 189 : 
 190 : 
 191 : 
 192 : 
 193 :  
 194 :  
 195 :  
 196 :  
 197 :  
 198 :  
 199 :  

© Cast3M 2003 - All rights reserved.
Disclaimer