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