1 : C ECRXX SOURCE STRU 08/12/22 21:15:14 6246 2 : c Sous-Programme du module MISTRAL0 3 : C -------------------------------------------------------------------------- 4 : SUBROUTINE ECRXX (VEPSP,VEPSE,XX, TT,EPSEQ,FI,FIT,PSI, 5 : & IXX,NXX, NDPI,NDVP, NPECRX,PECRX,PDVDI, 6 : & XXP,XXP0) 7 : C -------------------------------------------------------------------------- 8 : C Calcul, pour les contraintes internes de nature IXX : 9 : C - des termes XXP(IJ,IXX) et XXP0(IJ,IXX) de l'expression suivante 10 : C des derivees par rapport au temps des contraintes internes : 11 : C dXX(IJ,IXX)/dt = XXP(IJ,IXX) + XXP0(IJ,IXX)*VEPSE(0) 12 : C en fonction : 13 : C - des vitesses de deformation VEPSP(IJ,IDP) 14 : C (si KPLAST=1, VEPSP(IJ,0) correspond a VEPSE(0)=1), 15 : C - des vitesses de deformation equivalente VEPSE(IDP), 16 : C - des contraintes internes XX(IJ,IXXP), 17 : C - de la temperature TT, 18 : C - des deformations equivalentes EPSEQ(IDP), 19 : C - du flux de neutrons rapides FI, 20 : C - de la fluence FIT et de la variable PSI de durcissement du a 21 : C l'irradiation, 22 : C - des parametres transmis dans PECRX et PDVDI. 23 : C NPECRX (incremente ici) etant en entree le nombre de ceux de PECRX 24 : C correspondant aux contraintes internes de natures IXXP < IXX. 25 : C IDP compris entre 1-NDPI et NDVP. 26 : C IXXP compris entre 1 et NXX. 27 : C -------------------------------------------------------------------------- 28 : IMPLICIT INTEGER (I-N) 29 : IMPLICIT REAL*8 (A-H, O-Z) 30 : PARAMETER ( NPTTM = 5 , NPPSIM = 6 ) 31 : PARAMETER ( NPEDIM = 13+6*NPTTM+NPPSIM ) 32 : c (NPEDIM = 49) 33 : PARAMETER ( NVM=2 , NPATDM = 14 , NPFIM = 9 ) 34 : PARAMETER ( NPERVM = 11+NVM*(NPEDIM+2*NPATDM+NPFIM+11) ) 35 : c (NPERVM = 205) 36 : DIMENSION VEPSP(1:6,0:*),VEPSE(0:*),EPSEQ(0:*),XX(1:6,1:*) 37 : DIMENSION PECRX(1:*),PDVDI(1:*) 38 : DIMENSION ECXX(1:6),HM(1:6),XM(1:6),YM(1:6),SXM(1:6) 39 : DIMENSION PECDI(1:NPEDIM),PERV(1:NPERVM) 40 : DIMENSION XXP(1:6,1:*),XXP0(1:6,1:*) 41 : DO IJ = 1,6 42 : XXP(IJ,IXX) = 0. 43 : XXP0(IJ,IXX) = 0. 44 : END DO 45 : NPDVDI = NDPI+NDVP+IXX 46 : KVDI = NINT(PDVDI(NPDVDI)) 47 : IF (KVDI.EQ.0) THEN 48 : PSIIXX = FIT 49 : ELSE 50 : PSIIXX = PSI 51 : END IF 52 : C ----------------------- 53 : C Ecrouissage cinematique 54 : C 55 : DO IJ = 1,6 56 : ECXX(IJ) = PECRX(NPECRX+IJ) 57 : SXM(IJ) = 0. 58 : END DO 59 : NPECRX = NPECRX+6 60 : DO IDP = 1-NDPI,NDVP 61 : NPECRX = NPECRX+1 62 : NPECDI = NINT(PECRX(NPECRX)) 63 : KCC = NINT(PECRX(NPECRX+1)) 64 : IF (KCC.EQ.0) THEN 65 : NPECRX = NPECRX+1 66 : ELSE 67 : IF (KCC.EQ.-1) THEN 68 : NPECRX = NPECRX+2 69 : CC = PECRX(NPECRX) 70 : ELSE 71 : DO IP = 1,NPECDI 72 : PECDI(IP) = PECRX(NPECRX+IP) 73 : END DO 74 : NPECRX = NPECRX+NPECDI 74 : CALL FECRDI (TT,EPSEQ(IDP),PSIIXX, 0, PECDI, 75 : & CC,DSRDTT,DSRDEP,DSRPSI) 76 : END IF 77 : DO IJ = 1,6 78 : XM(IJ) = CC*VEPSP(IJ,IDP) 79 : END DO 80 : IF (IDP.EQ.0) THEN 80 : CALL PROMAH (ECXX,XM, YM) 81 : DO IJ = 1,6 82 : XXP0(IJ,IXX) = YM(IJ) 83 : END DO 84 : ELSE 85 : DO IJ = 1,6 86 : SXM(IJ) = SXM(IJ)+XM(IJ) 87 : END DO 88 : END IF 89 : END IF 90 : END DO 90 : CALL PROMAH (ECXX,SXM, YM) 91 : DO IJ = 1,6 92 : XXP(IJ,IXX) = YM(IJ) 93 : END DO 94 : C ---------------------- 95 : C Restauration dynamique 96 : C 97 : DO IJ = 1,6 98 : HM(IJ) = PECRX(NPECRX+IJ) 99 : SXM(IJ) = 0. 100 : END DO 101 : NPECRX = NPECRX+6 102 : DO IDP = 1-NDPI,NDVP 103 : DO IJ = 1,6 104 : XM(IJ) = 0. 105 : END DO 106 : DO IXXP = 1,NXX 107 : NPECRX = NPECRX+1 108 : NPECDI = NINT(PECRX(NPECRX)) 109 : KDD = NINT(PECRX(NPECRX+1)) 110 : IF (KDD.EQ.0) THEN 111 : NPECRX = NPECRX+1 112 : ELSE 113 : IF (KDD.EQ.-1) THEN 114 : NPECRX = NPECRX+2 115 : DD = PECRX(NPECRX) 116 : ELSE 117 : DO IP = 1,NPECDI 118 : PECDI(IP) = PECRX(NPECRX+IP) 119 : END DO 120 : NPECRX = NPECRX+NPECDI 120 : CALL FECRDI (TT,EPSEQ(IDP),PSIIXX, 0, PECDI, 121 : & DD,DSRDTT,DSRDEP,DSRPSI) 122 : END IF 123 : DO IJ = 1,6 124 : XM(IJ) = XM(IJ)+DD*XX(IJ,IXXP) 125 : END DO 126 : END IF 127 : END DO 128 : IF (IDP.EQ.0) THEN 128 : CALL PROMAH (HM,XM, YM) 129 : DO IJ = 1,6 130 : XXP0(IJ,IXX) = XXP0(IJ,IXX)-YM(IJ) 131 : END DO 132 : ELSE 133 : DO IJ = 1,6 134 : SXM(IJ) = SXM(IJ)+XM(IJ)*VEPSE(IDP) 135 : END DO 136 : END IF 137 : END DO 137 : CALL PROMAH (HM,SXM, YM) 138 : DO IJ = 1,6 139 : XXP(IJ,IXX) = XXP(IJ,IXX)-YM(IJ) 140 : END DO 141 : C -------------------------------- 142 : C Restauration statique eventuelle 143 : C 144 : NPECRX = NPECRX+1 145 : KRS = NINT(PECRX(NPECRX)) 146 : IF (KRS.EQ.0) RETURN 147 : NPECRX = NPECRX+1 148 : KRS = NINT(PECRX(NPECRX)) 149 : DO IJ = 1,6 150 : IF (IJ.EQ.3) THEN 151 : HM(IJ) = PECRX(NPECRX+1) 152 : & +PECRX(NPECRX+2)*EXP((PECRX(NPECRX+3)+PECRX(NPECRX+4)*TT)*TT) 153 : NPECRX = NPECRX+4 154 : ELSE 155 : NPECRX = NPECRX+1 156 : HM(IJ) = PECRX(NPECRX) 157 : END IF 158 : XM(IJ) = XX(IJ,IXX) 159 : END DO 160 : XEQ = SQRT( HM(1)*(XM(2)-XM(3))**2 161 : & + HM(2)*(XM(3)-XM(1))**2 + HM(3)*(XM(1)-XM(2))**2 162 : & + 2.*( HM(4)*XM(4)**2 + HM(5)*XM(5)**2 + HM(6)*XM(6)**2 ) ) 163 : NPECRX = NPECRX+1 164 : NPERV = NINT(PECRX(NPECRX)) 165 : IF (XEQ.EQ.0.D0) THEN 166 : NPECRX = NPECRX+NPERV 167 : ELSE 168 : DO IP = 1,NPERV 169 : PERV(IP) = PECRX(NPECRX+IP) 170 : END DO 171 : NPECRX = NPECRX+NPERV 171 : CALL ECOREV (XEQ,0.D0,0.D0,TT,FI,PSIIXX, PERV, XXPRS) 172 : DO IJ = 1,6 173 : XM(IJ) = XXPRS*XM(IJ)/XEQ 174 : END DO 174 : CALL PROMAH (HM,XM, YM) 175 : IF (KRS.EQ.2) THEN 176 : DO IJ = 1,6 177 : XM(IJ) = YM(IJ) 178 : END DO 178 : CALL PROMAH (ECXX,XM, YM) 179 : END IF 180 : DO IJ = 1,6 181 : XXP(IJ,IXX) = XXP(IJ,IXX)-YM(IJ) 182 : END DO 183 : END IF 184 : C --------------------------------- 185 : RETURN 186 : END 187 :
© Cast3M 2003 - All rights reserved.
Disclaimer