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