1 : * @ZACPLUS PROCEDUR CHAT 99/06/07 21:24:42 3584 2 : *-----------------------------PROCEDURE ZACPLUS----------------------* 3 : 4 : 'DEBP' @ZACPLUS TBZA*'TABLE'; 5 : 6 : ********************************************************************** 7 : * METHODE ZAC MODIFIEE (ZACPLUS) * 8 : ********************************************************************** 9 : 10 : 11 : *------------ENTREE DES DONNEES PAR LA TABLE TBZA--------------------* 12 : 13 : SIG1 = 'CHAN' 'CONS' TBZA.'SIG1' 'ZACCONST'; 14 : SIG2 = 'CHAN' 'CONS' TBZA.'SIG2' 'ZACCONST'; 15 : CLIM = TBZA.'CLIM'; 16 : TAMOD = 'TABLE'; 17 : TAMAT = 'TABLE'; 18 : 19 : I = 0; 20 : 'REPETER' BLOCM; 21 : I = I + 1; 22 : 'SI' ('EXISTE' TBZA I); 23 : TAMOD.I = 'MODEL' TBZA.I.'GEOM' 'MECANIQUE' 'ELASTIQUE' 24 : 'PLASTIQUE' 'CINEMATIQUE' CONS 'ZACCONST'; 25 : TAMAT.I = 'MATE' TAMOD.I 'YOUN' TBZA.I.'YOUN' 'NU' TBZA.I.'NU' 26 : 'SIGY' TBZA.I.'SIGY' 'H' TBZA.I.'H'; 27 : 'SI' (I 'EGA' 1); 28 : MOTOT = TAMOD. 1; 29 : MATOT = TAMAT. 1; 30 : 'SINON'; 31 : MOTOT = MOTOT 'ET' TAMOD.I; 32 : MATOT = MATOT 'ET' TAMAT.I; 33 : 'FINSI'; 34 : 35 : 'SINON'; 36 : 'QUITER' BLOCM; 37 : 'FINSI'; 38 : 'FIN' BLOCM; 39 : 40 : *----------------------DEFINITION DU MATERIAU------------------------* 41 : E1 = 'EXCO' MATOT 'YOUN' SCAL; 42 : NU1 = 'EXCO' MATOT 'NU' SCAL; 43 : SIGY1 = 'EXCO' MATOT 'SIGY' SCAL; 44 : H1 = 'EXCO' MATOT 'H' SCAL; 45 : 46 : E1 = 'CHANGER' 'STRESSES' MOTOT E1; 47 : NU1 = 'CHANGER' 'STRESSES' MOTOT NU1; 48 : SIGY1 = 'CHANGER' 'STRESSES' MOTOT SIGY1; 49 : H1 = 'CHANGER' 'STRESSES' MOTOT H1; 50 : 51 : E1 = 'CHANGER' 'TYPE' E1 'SCALAIRE'; 52 : NU1 = 'CHANGER' 'TYPE' NU1 'SCALAIRE'; 53 : SIGY1 = 'CHANGER' 'TYPE' SIGY1 'SCALAIRE'; 54 : H1 = 'CHANGER' 'TYPE' H1 'SCALAIRE'; 55 : 56 : SIGY2 = SIGY1 + (SIGY1/100.); 57 : 58 : *---------------------NOMBRE D ITERATION MAXI-------------------------* 59 : NF1 = 5; 60 : NF2 = 5; 61 : NITER = NF1 + NF2; 62 : 63 : 64 : *-------------CALCUL DES NOUVEAUX PARAMETRES DU MATERIAU--------------* 65 : H1M1 = H1**-1; 66 : E1M1 = E1**-1; 67 : E1H1 = E1 + H1; 68 : E1H1M1 = E1H1**-1; 69 : CM1 = 1.5 * H1M1; 70 : C = CM1**-1; 71 : EPRIM1 = (E1 * H1) * E1H1M1; 72 : NUPRIM1 = EPRIM1 * ((NU1 * E1M1) + (0.5 * H1M1)); 73 : 74 : 75 : SS1 = @ZACPRO5 SIG1 MOTOT; 76 : SS2 = @ZACPRO5 SIG2 MOTOT; 77 : DEVSIG = SS2 - SS1; 78 : SELMOY = (SS1 + SS2)/2.; 79 : SIGMEL = (SIG1 + SIG2)/2.; 80 : DSIGEL = SIG2 - SIG1; 81 : FEL = @ZACPRO7 DEVSIG ; 82 : IND = FEL 'MASQUE' 'EGSUPE' -1.; 83 : NUL = 0.*SS1; 84 : DESIGY1 = 2.*SIGY1; 85 : DIST = FEL - DESIGY1; 86 : ACCOM1 = DIST 'MASQUE' 'SUPERIEUR' 'SOMME' 0.; 87 : ACCOMM = ACCOM1 > 0; 88 : 89 : SI ACCOMM; 90 : *--------------------------------------------* 91 : MESS 'LA STRUCTURE EST ACCOMMODEE'; 92 : *--------------------------------------------* 93 : SINON; 94 : *--------------------------------------------* 95 : MESS 'LA STRUCTURE EST ADAPTEE'; 96 : *--------------------------------------------* 97 : FINSI; 98 : 99 : *----------------------INITIALISATION DE PARAMETRES-------------------* 100 : ZONEZA = 0. * IND; 101 : ZONEGA1 = ZONEZA; 102 : ZONEGA2 = ZONEZA; 103 : CRIT2 = IND; 104 : CRIT3 = IND; 105 : BOUCLE = 1; 106 : NBRB1 = 0; 107 : NBRB2 = 0; 108 : QQQQ = 1; 109 : IND1 = DIST 'MASQUE' 'INFERIEUR' 0.; 110 : IND2 = IND - IND1; 111 : 112 : *----------------CALCUL DE DXCHAP RELATIF A LA ZONE 3-----------------* 113 : FELM1 = FEL**-1; 114 : RRR1 = DEVSIG * FELM1; 115 : RRRR = RRR1 * SIGY1; 116 : DXCHAP1 = DEVSIG - (2. * RRRR); 117 : 118 : 119 : SS1EQ = @ZACPRO7 SS1 ; 120 : SS2EQ = @ZACPRO7 SS2 ; 121 : SS1EQM = SS1EQ 'MASQUE' 'INFERIEUR' 1.E-10; 122 : SS2EQM = SS2EQ 'MASQUE' 'INFERIEUR' 1.E-10; 123 : SS1EQMC = IND - SS1EQM; 124 : SS2EQMC = IND - SS2EQM; 125 : SS1EQ = SS1EQ + SS1EQM; 126 : SS2EQ = SS2EQ + SS2EQM; 127 : 128 : *--------------CONVEXE1 CONVEXE2----------* 129 : RAY1 = SS1EQ - SIGY1; 130 : RAY2 = SS2EQ - SIGY1; 131 : CVX1 = RAY1 'MASQUE' 'INFERIEUR' 0.; 132 : CVX2 = RAY2 'MASQUE' 'INFERIEUR' 0.; 133 : HCVX1 = IND - CVX1; 134 : HCVX2 = IND - CVX2; 135 : *-----------------------------------------* 136 : 137 : *--------------INTERSECTION---------------* 138 : INTER = CVX1 * CVX2; 139 : NINTER = IND - INTER; 140 : *-----------------------------------------* 141 : 142 : *-------------------CALCUL DE XCHAP RELATIF A LA ZONE 2---------------* 143 : 144 : 145 : *----------------------OPERATION DE PROJECTION------------------------* 146 : NBRPRO = 0; 147 : FACT1 = FEL**2; 148 : FELM2 = FEL**-2; 149 : FACT = FACT1 * FELM2 /2.; 150 : S = SS1 + (FACT * DEVSIG); 151 : SMDS = @ZACPRO6 S DEVSIG; 152 : COTE1 = SMDS 'MASQUE' 'EGSUPE' 0.; 153 : COTE2 = IND - COTE1; 154 : MA = @ZACPRO8 NUL SS2 SIGY1; 155 : MB = @ZACPRO8 NUL SS1 SIGY1; 156 : XCHAPD1 = (MA * COTE1) + (MB * COTE2); 157 : REPETER BLOCPROJ 10; 158 : NBRPRO = NBRPRO + 1; 159 : MM1 = XCHAPD1; 160 : SMM1 = S - MM1; 161 : SMDS = @ZACPRO6 SMM1 DEVSIG; 162 : COTE1 = SMDS 'MASQUE' 'EGSUP' 0.; 163 : COTE2 = IND - COTE1; 164 : MA = @ZACPRO8 MM1 SS2 SIGY1; 165 : MB = @ZACPRO8 MM1 SS1 SIGY1; 166 : XCHAPD1 = (MA * COTE1) + (MB * COTE2); 167 : DMM = (MM1 - XCHAPD1) * IND1; 168 : NDMM = @ZACPRO7 DMM; 169 : CCRIT1 = NDMM 'MASQUE' 'SUPERIEUR' 'SOMME' 1.; 170 : CCRIT = CCRIT1 'EGA' 0; 171 : SI CCRIT; 172 : MESS 'NOMBRE DE PROJECTIONS'; 173 : LIST NBRPRO; 174 : QUITER BLOCPROJ; 175 : FINSI; 176 : FIN BLOCPROJ; 177 : 178 : 179 : *********************************************************************** 180 : * DEBUT DE LA BOUCLE * 181 : *********************************************************************** 182 : 183 : REPETER BLOC1 NITER; 184 : MESS 'DEBUT DU BLOC1'; 185 : 186 : *DEFINITION DES DIFFERENTES ZONES VARIABLES EN FONCTION DES ITERATIONS* 187 : ZONEA3 = INTER * ZONEZA; 188 : ZONEA2 = (NINTER * ZONEZA) * CRIT3; 189 : ZONEA1A = (IND2 + ZONEA3) * CRIT2; 190 : ZONEA1M = (IND2 + ZONEA3) * CRIT3; 191 : ZONEIA = (IND1 - ZONEZA) + ZONEGA1; 192 : ZONEAA = IND - ZONEIA; 193 : ZONEIM = (IND1 - ZONEZA) + ZONEGA2; 194 : ZONEAM = IND - ZONEIM; 195 : 196 : *------------------------CALCUL DES AMPLITUDES------------------------* 197 : DXCHAP = DXCHAP1 * ZONEA1A; 198 : 199 : *-----------MATERIAU-------------* 200 : EPRIM2 = EPRIM1 * ZONEAA; 201 : NUPRIM2 = NUPRIM1 * ZONEAA; 202 : E3 = EPRIM2 + (ZONEIA * E1); 203 : NU3 = NUPRIM2 + (ZONEIA * NU1); 204 : E3 = 'EXCO' 'SCAL' E3 'YOUN'; 205 : NU3 = 'EXCO' 'SCAL' NU3 'NU'; 206 : MA3 = 'MANU' 'CHML' MOTOT 'YOUN' E3 'NU' NU3 'TYPE' 207 : CARACTERISTIQUES 'STRESSES'; 208 : 209 : 210 : DEPSIM = CM1 * DXCHAP; 211 : EPI1 EPI2 EPI3 EPI4 EPI5 EPI6 = @ZACPRO4 DEPSIM; 212 : DEPSIM = @ZACPRO1 EPI1 EPI2 EPI3 EPI4 EPI5 EPI6 MOTOT; 213 : DSIGIM = 'ELAS' MOTOT DEPSIM MA3; 214 : DFOIM = 'BSIGMA' MOTOT DSIGIM; 215 : RIIM2 = 'RIGI' MOTOT MA3; 216 : DRIIM = RIIM2 ET CLIM; 217 : DDINEL = 'RESOU' DRIIM DFOIM; 218 : DEPSINEL = 'EPSI' MOTOT DDINEL; 219 : DROA = 'ELAS' MOTOT DEPSINEL MA3; 220 : DRO = DROA - DSIGIM; 221 : DSIG = DSIGEL + DRO; 222 : DDEVRO = @ZACPRO5 DRO MOTOT; 223 : DXCHNOU = (DXCHAP * ZONEAA) - (DDEVRO * ZONEIA); 224 : DX = (DXCHNOU + DDEVRO) * ZONEAA; 225 : DEPSPL1 = CM1 * DX; 226 : EPSPL11 EPSPL12 EPSPL13 EPSPL14 EPSPL15 EPSPL16 = @ZACPRO4 DEPSPL1; 227 : DEPSIP = @ZACPRO1 EPSPL11 EPSPL12 EPSPL13 228 : EPSPL14 EPSPL15 EPSPL16 MOTOT; 229 : 230 : *---------------------CALCUL DES VALEURS MOYENNES---------------------* 231 : XCHAP3 = SELMOY * ZONEA1M; 232 : XCHAP2 = XCHAPD1 * ZONEA2; 233 : XCHAP = XCHAP3 + XCHAP2; 234 : 235 : *-----------MATERIAU-------------* 236 : EPRIM = EPRIM1 * ZONEAM; 237 : NUPRIM = NUPRIM1 * ZONEAM; 238 : E2 = EPRIM + (ZONEIM * E1); 239 : NU2 = NUPRIM + (ZONEIM * NU1); 240 : E2 = 'EXCO' 'SCAL' E2 'YOUN'; 241 : NU2 = 'EXCO' 'SCAL' NU2 'NU'; 242 : MA2 = 'MANU' 'CHML' MOTOT 'YOUN' E2 'NU' NU2 'TYPE' 243 : CARACTERISTIQUES 'STRESSES'; 244 : 245 : 246 : EPSIM = CM1 * XCHAP; 247 : EPI1 EPI2 EPI3 EPI4 EPI5 EPI6 = @ZACPRO4 EPSIM; 248 : EPSIM = @ZACPRO1 EPI1 EPI2 EPI3 EPI4 EPI5 EPI6 MOTOT; 249 : SIGIM = 'ELAS' MOTOT EPSIM MA2; 250 : FOIM = 'BSIGMA' MOTOT SIGIM; 251 : RIIM1 = 'RIGI' MOTOT MA2; 252 : RIIM = RIIM1 ET CLIM; 253 : DINEL = 'RESOU' RIIM FOIM; 254 : EPSINEL = 'EPSI' MOTOT DINEL; 255 : ROA = 'ELAS' MOTOT EPSINEL MA2; 256 : RO = ROA - SIGIM; 257 : SIGMOY = RO + SIGMEL; 258 : DEVRO = @ZACPRO5 RO MOTOT; 259 : XCHNO1 = XCHAP * ZONEAM; 260 : XCHNO2 = ((-1.) * DEVRO) * ZONEIM; 261 : XCHAMOY = XCHNO1 + XCHNO2; 262 : X = (XCHAMOY + DEVRO) * ZONEAM; 263 : EPSPL1 = CM1 * X; 264 : EPSPL11 EPSPL12 EPSPL13 EPSPL14 EPSPL15 EPSPL16 = @ZACPRO4 EPSPL1; 265 : EPSIPM = @ZACPRO1 EPSPL11 EPSPL12 EPSPL13 266 : EPSPL14 EPSPL15 EPSPL16 MOTOT; 267 : QQQQ = QQQQ + 1; 268 : CRIT1 = BOUCLE EGA 1; 269 : SI CRIT1; 270 : 271 : *-----VERIFICATION XCHAPMOY +/- DXCHAP APPARTIENT A L'INTERSECTION----* 272 : XCHMAX = XCHAMOY + (DXCHNOU * 0.5); 273 : XCHMIN = XCHAMOY - (DXCHNOU * 0.5); 274 : DMAX1 = XCHMAX - SS2; 275 : DMIN1 = XCHMIN - SS1; 276 : DMAX = @ZACPRO7 DMAX1 ; 277 : DMIN = @ZACPRO7 DMIN1 ; 278 : INB17 = DMAX 'MASQUE' 'SUPERIEUR' SIGY2; 279 : INB18 = DMIN 'MASQUE' 'SUPERIEUR' SIGY2; 280 : INB1718 = INB17 * INB18; 281 : ZONEZAS = ((INB17 + INB18) - INB1718) * ZONEIA; 282 : ZONEZA = ZONEZAS + ZONEZA; 283 : FMOY1 = ZONEZAS 'MASQUE' 'DIFFERENT' 'SOMME' 0.; 284 : FMOY2 = FMOY1 EGA 0; 285 : NBRB1 = NBRB1 + 1; 286 : FMOY3 = NBRB1 'EGA' NF1; 287 : FMOY = FMOY2 OU FMOY3; 288 : SI FMOY; 289 : BOUCLE = BOUCLE + 1; 290 : FINSI; 291 : FINSI; 292 : CRIT4 = BOUCLE NEG 1; 293 : SI CRIT4; 294 : 295 : *---------------------VERIFICATION DSEL.DX>=0-------------------------* 296 : MESS 'VERIFICATION DSEL.DX>=0'; 297 : DSELDX = @ZACPRO6 DEVSIG DX; 298 : ZON1GAS = DSELDX 'MASQUE' 'INFERIEUR' 0.; 299 : FDELTA1 = ZON1GAS 'MASQUE' 'DIFFERENT' 'SOMME' 0.; 300 : FDELTA = FDELTA1 EGA 0; 301 : 302 : *----------------------VERIFICATION SIGM.XM>=0------------------------* 303 : MESS 'VERIFICATION SIGM.XM>=0'; 304 : SIGMXM = @ZACPRO6 SIGMOY X; 305 : ZON2GAS = SIGMXM 'MASQUE' 'INFERIEUR' 0.; 306 : GDELTA1 = ZON2GAS 'MASQUE' 'DIFFERENT' 'SOMME' 0.; 307 : GDELTA = GDELTA1 'EGA' 0; 308 : HDELTA1 = FDELTA ET GDELTA; 309 : NBRB2 = NBRB2 + 1; 310 : HDELTA2 = NBRB2 'EGA' NF2; 311 : HDELTA = HDELTA1 OU HDELTA2; 312 : SI HDELTA; 313 : QUITER BLOC1; 314 : FINSI; 315 : 316 : 317 : ZONEGA1 = ZONEGA1 + ZON1GAS; 318 : CRIT2 = IND - ZONEGA1; 319 : ZONEGA2 = ZONEGA2 + ZON2GAS; 320 : CRIT3 = IND - ZONEGA2; 321 : MESS 'FIN BLOC1'; 322 : MESS 'NOMBRE DE BOUCLES 1 ET 2'; 323 : LIST NBRB1; 324 : LIST NBRB2; 325 : FINSI; 326 : FIN BLOC1; 327 : *-------------------------RESULTAT FINAL------------------------------* 328 : TABRES = TABLE; 329 : TABRES.'DEPFINA' = DEPSIP; 330 : TABRES.'DSIFINA' = DSIG; 331 : TABRES.'EPMFINA' = EPSIPM; 332 : TABRES.'SIMFINA' = SIGMOY; 333 : TABRES.'MATETOT' = MATOT; 334 : TABRES.'MODETOT' = MOTOT; 335 : 336 : FINP TABRES; 337 : 338 :
© Cast3M 2003 - All rights reserved.
Disclaimer