1 : * DECONV PROCEDUR AF221230 13/12/12 21:15:01 7881 2 : 'DEBPROC' DECONV COUCHE*'TABLE' FOND_SOL*'MAILLAGE' SOL/'MAILLAGE' 3 : MOD_SOL DIR*'MOT' GAMMAO*'EVOLUTIO' F1*'FLOTTANT' 4 : F2*'FLOTTANT' FC/'FLOTTANT' TYP_F/'MOT' 5 : P_GAMMA/'TABLE' ; 6 : ************************************************************************ 7 : * 8 : * D E C O N V 9 : * ------------- 10 : * 11 : * FONCTION: 12 : * --------- 13 : * 14 : * Cette procédure permet d'effectuer des calculs d'interaction sol- 15 : * structure (ISS) en 2D (déformation plane ou mode Fourier 0 16 : * (mouvement vertical) et 1 (mouvement horizontal)) par la méthode 17 : * des éléments finis 18 : * 19 : * PHRASE D'APPEL (EN GIBIANE): 20 : * ---------------------------- 21 : * 22 : * TABRESU = DECONV COUCHE FOND_SOL MOD_SOL (SOL) DIR 23 : * GAMMAO F1 F2 (FC) (TYP_F) (P_GAMMA) 24 : * 25 : * OPERANDES: 26 : * ---------- 27 : * 28 : * COUCHE 'TABLE' : table à double indice 29 : * 30 : * COUCHE.I.'indice' : données pour la ième couche du sol 31 : * 32 : * indice 'FRONTIERE' 'MAILLAGE' : frontière verticale 33 : * indice 'MASSE_VOLUMIQUE' 'FLOTTANT' : masse volumique 34 : * indice 'POISSON' 'FLOTTANT' : coefficient de Poisson 35 : * indice 'YOUNG' 'FLOTTANT' : module d'Young 36 : * indice 'AMORTISSEMENT 'FLOTTANT' : amortissement réduit 37 : * 38 : * FOND_SOL 'MAILLAGE' : frontière horizontale inférieure du sol 39 : * MOD_SOL 'MMODEL' : modèle du sol proche 40 : * SOL 'MAILLAGE' : maillage du sol proche, facultatif 41 : * DIR 'MOT' : direction de l'accélération sismique GAMMAO 42 : * 'HORI' pour la direction horizontale 43 : * 'VERT' pour la direction verticale 44 : * GAMMAO 'EVOLUTIO' : Signal sismique (accélérogramme) d'entrée pour 45 : * la déconvolution, défini par défaut à la surface 46 : * libre du sol, sinon, renseigner la table P_GAMMA 47 : * F1, F2 'FLOTTANT' : fréquences sur lesquelles l'amortissement 48 : * : réduit est ajusté suivant le modèle de 49 : * RAYLEIGH 50 : * FC 'FLOTTANT' : fréquence de coupure pour la déconvolution, 51 : * par défaut FC = 50 Hz 52 : * TYP_F 'MOT' : type de frontière : 'WHITE' (par défaut) 53 : * 'LYSMER' 54 : * P_GAMMA 'TABLE' : Description des accélérogrammes d'entrée et de sort 55 : * pour la déconvolution (facultatif) 56 : * indice 'ENTREE' :'TABLE' : description de la nature de l'accélérogramm 57 : * GAMMAO autre que sur la surface libre (facultatif) 58 : * sous-indice 'NATURE' : Nature du point de contrôle : 59 : * 'MOT' PROFOND : profondeur du sol 60 : * 'MOT' OUTCROP : outcrop du bedrock 61 : * sous-indice 'CONTROLE' :'MAILLAGE': point de contrôle sur la frontière 62 : * verticale si sous-indice 'NATURE' = PROFOND 63 : * indice 'I' :'MAILLAGE': Ième (i = 1, 2, 3,...) points sur la 64 : * frontière verticale pour lesquels on désire sortir 65 : * l'accélérogramme en champ libre (résultats de 66 : * déconvolution) 67 : * 68 : * RESULTATS: 69 : * ---------- 70 : * TABRESU 'TABLE' : table qui contient les résultats du calcul 71 : * 72 : * indice 'CHAR' 'CHARGEMENT' : excitation sur la frontière du sol 73 : * indice 'AMOR' 'RIGIDITE' : frontière absorbante de type TYP_F 74 : * indice 'DEFO' 'EVOLUTIO' : déformation maximale en fonction 75 : * de la profondeur 76 : * indice 'ACCE' 'TABLE' : table qui contient les accélérations 77 : * obtenues par la déconvolution 78 : * sous-indice I accélération du point I défini dans la 79 : * table P_GAMMA 80 : * sous-indice 'OUTCROP' accélération du outcrop de bedrock 81 : * 82 : * indice 'PAS' 'FLOTTANT' 83 : * indice 'FCDYN' 'FLOTTANT' : pas de temps et fréquence de coupure 84 : * à utiliser pour le calcul de 85 : * l'interaction sol-structure 86 : * à l'aide de la procédure DYNAMIC 87 : * 88 : * PROCEDURES APPELEES : 89 : * ------------------- 90 : * 'FRONABS' 91 : * 92 : * 93 : * AUTEUR, DATE DE CREATION ET DE MODIFICATION: 94 : * -------------------------------------------- 95 : * 96 : * F. WANG 11/06/1992 : Création, mouvement horizontal. 97 : * F. WANG 17/09/1996 : Mise à jour. 98 : * F. WANG 16/02/1999 : Modification, mouvement vertical 99 : * F. WANG 04/09/2008 : Optimisation du pas de calcul, 100 : * correction d'un plantage lié à la 101 : * profondeur de la déconvolutiobn, 102 : * Vérification du maillage de frontière. 103 : * F. WANG 07/10/2010 : Mise à zéro des vitesses initiales 104 : * au sens moyen sur les 100 premiers pas 105 : * éliminant ainsi la rotation du bloc de sol, 106 : * Changement de format du chargement réduisant 107 : * largement le temps de calcul dynamique 108 : * F. WANG 20/02/2013 : Ajout des options concernant le signal 109 : * d'entrée : PROFOND et OUTCROP 110 : * Ajout du signal de sortie outcrop de bedrock 111 : ************************************************************************ 112 : 113 : * Maillage de la frontière du sol : élément SEG3 seulement 114 : * Types d'éléments de sol QUA8 + TRI6 115 : 116 : NB_COU = 'DIME' COUCHE; 117 : FRSOL = FOND_SOL; 118 : 119 : I = 1; 120 : 'REPE' BCL0 NB_COU; 121 : FRSOL = FRSOL 'ET' COUCHE.I.'FRONTIERE'; 122 : I = I + 1; 123 : 'FIN' BCL0; 124 : 125 : LTYPF = 'ELEM' FRSOL 'TYPE'; 126 : 127 : 'SI' ((DIME LTYPF) > 1); 128 : 'SAUT' 2 'LIGNE' ; 129 : 'MESS' '***** ARRET DE LA PROCEDURE DECONV *****'; 130 : 'MESS' '***** LA FRONTIERE DOIT ETRE DE TYPE SEG3 *****'; 131 : 'MESS' '***** LE SOL DOIT DE TYPE QUA8 OU TRI6 *****'; 132 : 'SAUT' 2 'LIGNE'; 133 : 'QUIT' DECONV; 134 : 135 : 'SINON'; 136 : TYPF1 = 'EXTR' LTYPF 1; 137 : 'SI' ('NEG' TYPF1 'SEG3'); 138 : 'SAUT' 2 'LIGNE' ; 139 : 'MESS' '***** ARRET DE LA PROCEDURE DECONV *****'; 140 : 'MESS' '***** LA FRONTIERE DOIT ETRE DE TYPE SEG3 *****'; 141 : 'MESS' '***** LE SOL DOIT DE TYPE QUA8 OU TRI6 *****'; 142 : 'SAUT' 2 'LIGNE'; 143 : 'QUIT' DECONV; 144 : 'FINSI'; 145 : 'FINSI'; 146 : 147 : 'SI' ( 'NON' ( 'EXIS' TYP_F ) ) ; 148 : TYP_F = 'WHITE' ; 149 : 'FINSI' ; 150 : 151 : 'SAUT' 5 'LIGNE' ; 152 : 'MESS' '**********************************************************' ; 153 : 'MESS' '* *' ; 154 : 'MESS' '* CALCUL DU CHAMP SISMIQUE INCIDENT PAR LA METHODE *' ; 155 : 'MESS' '* DE LA DECONVOLUTION *' ; 156 : 'MESS' '* *' ; 157 : 'MESS' '**********************************************************' ; 158 : 'SAUT' 2 'LIGNE' ; 159 : 'MESS' 'CARACTERISTIQUES MECANIQUES DU SOL' ; 160 : 161 : NB_COU = 'DIME' COUCHE ; 162 : I = 0 ; 163 : 'REPE' BOUCL0 NB_COU ; 164 : I = I + 1 ; 165 : E_I = COUCHE.I.'YOUNG' ; 166 : NU_I = COUCHE.I.'POISSON' ; 167 : COUCHE.I.'MODULE_G' = E_I / ( 2. * ( 1. + NU_I ) ) ; 168 : CS_I = ( COUCHE.I.'MODULE_G' / COUCHE.I.'MASSE_VOLUMIQUE' ) ** .5 ; 169 : CP_I = ((2.0 * (1.0 - NU_I))/(1.0 - (2.0 * NU_I))) ** 0.5 ; 170 : CP_I = CP_I * CS_I ; 171 : COUCHE.I.'FRONTIERE' = 'ORDO' COUCHE.I.'FRONTIERE' ; 172 : 173 : P_INI = ( COUCHE.I.'FRONTIERE' ) 'POINT' 'INITIAL' ; 174 : P_FIN = ( COUCHE.I.'FRONTIERE' ) 'POINT' 'FINAL' ; 175 : Z_INI = 'COOR' 2 P_INI ; 176 : Z_FIN = 'COOR' 2 P_FIN ; 177 : COUCHE.I.'EPAISSEUR' = 'ABS' ( Z_INI - Z_FIN ) ; 178 : 179 : 'SAUT' 'LIGNE' ; 180 : 'MESS' 'COUCHE NUMERO ' I ; 181 : 'SAUT' 'LIGNE' ; 182 : 'MESS' 'EPAISSEUR DE LA COUCHE H ' COUCHE.I.'EPAISSEUR' ; 183 : 'MESS' 'MODULE D"YOUNG E ' COUCHE.I.'YOUNG' ; 184 : 'MESS' 'MASSE VOLUMIQUE RHO' COUCHE.I.'MASSE_VOLUMIQUE' ; 185 : 'MESS' 'COEFFICIENT DE POISSON NU ' COUCHE.I.'POISSON' ; 186 : 'MESS' 'VITESSE DES ONDES S CS ' CS_I ; 187 : 'MESS' 'VITESSE DES ONDES P CP ' CP_I ; 188 : 'MESS' 'AMORTISSEMENT EQUIVALENT KSI' COUCHE.I.'AMORTISSEMENT' ; 189 : 'FIN' BOUCL0 ; 190 : 191 : ******************* Construction d'une colonne de sol ****************** 192 : * 193 : * La colonne est construite a l'extérieur de la frontière. 194 : * Dans le cas de PLANDEFO , elle est : 195 : * 196 : * - a droite pour la frontière droite ( X > 0 ) 197 : * - a gauche pour la frontière gauche ( X < 0 ) 198 : * 199 : ************************************************************************ 200 : 201 : 'SAUT' 3 'LIGNE' ; 202 : 'MESS' 'CONSTRUCTION D"UNE COLONNE DE SOL' ; 203 : AXP = 'CHAN' ( COUCHE. 1 . 'FRONTIERE' ) 'POI1' ; 204 : NOEU1 = AXP 'POINT' 1 ; 205 : NOEU2 = AXP 'POINT' 2 ; 206 : XF = 'COOR' 1 NOEU1 ; 207 : Z1 = 'COOR' 2 NOEU1 ; 208 : Z2 = 'COOR' 2 NOEU2 ; 209 : DZ = 'ABS' ( Z1 - Z2 ) ; 210 : 'SI' ( 0.0 > XF ) ; 211 : DZ = DZ * ( -1 ) ; 212 : 'FINSI' ; 213 : VEC_H = DZ 0. ; 214 : 215 : 'OPTI' 'ELEM' 'QUA8' ; 216 : 'TITR' 'COLONNE DE SOL POUR LA DECONVOLUTION ( EN ROSE )' ; 217 : 218 : COLONN = 'TABLE' ; 219 : COLMOD = 'TABLE' ; 220 : COLMAT = 'TABLE' ; 221 : COLMAS = 'TABLE' ; 222 : COLRIG = 'TABLE' ; 223 : COLBLO = 'TABLE' ; 224 : COLAMO = 'TABLE' ; 225 : 226 : TYP_MODE = 'MOT' ('VALEUR' 'MODE') ; 227 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 228 : 'SI' ( 'EGA' DIR 'HORI' ) ; 229 : BMOT = 'MOT' 'UZ' ; 230 : 'SINON' ; 231 : 'SI' ( 'EGA' DIR 'VERT' ) ; 232 : BMOT = 'MOT' 'UR' ; 233 : 'FINSI' ; 234 : 'FINSI' ; 235 : 'SINON' ; 236 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 237 : 'SI' ( 'EGA' DIR 'HORI' ) ; 238 : BMOT = 'MOT' 'UY' ; 239 : 'SINON' ; 240 : 'SI' ( 'EGA' DIR 'VERT' ) ; 241 : BMOT = 'MOT' 'UX' ; 242 : 'FINSI' ; 243 : 'FINSI' ; 244 : 'FINSI' ; 245 : 'FINSI' ; 246 : 247 : 'SI' ( 'NON' ( 'EXIS' F1 ) ) ; 248 : F1 = 1.0 ; 249 : F2 = 25.0 ; 250 : 'FINSI' ; 251 : 'MESS' 'AMORTISSEMENT DE RAYLEIGH POUR LE SOL' ; 252 : 'MESS' 'F1 = ' F1 'Hz F2 = ' F2 'Hz' ; 253 : ALPHA = PI * 4 * F1 * F2 / ( F1 + F2 ) ; 254 : BETA = 1 / ( PI * ( F1 + F2 ) ) ; 255 : 256 : I = 0 ; 257 : 'REPE' BOUCL1 NB_COU ; 258 : I = I + 1 ; 259 : KSI = COUCHE.I.'AMORTISSEMENT' ; 260 : COLONN.I = ( COUCHE.I.'FRONTIERE' ) 'TRANS' 1 VEC_H ; 261 : COLMOD.I = 'MODE' ( COLONN.I ) 'MECANIQUE' 'ELASTIQUE' 262 : 'ISOTROPE' 'QUA8' ; 263 : COLMAT.I = 'MATE' ( COLMOD.I ) 'YOUNG' ( COUCHE.I.'YOUNG' ) 264 : 'NU' ( COUCHE.I.'POISSON' ) 265 : 'RHO' ( COUCHE.I.'MASSE_VOLUMIQUE' ) ; 266 : COLMAS.I = 'MASS' ( COLMOD.I ) ( COLMAT.I ) ; 267 : COLRIG.I = 'RIGI' ( COLMOD.I ) ( COLMAT.I ) ; 268 : COLBLO.I = 'BLOQ' BMOT ( COLONN.I ) ; 269 : COLAMO.I = KSI * (( ALPHA * ( COLMAS.I ) ) 'ET' 270 : ( BETA * ( COLRIG.I 'ET' COLBLO.I ))) ; 271 : 272 : 'SI' ( I 'EGA' 1 ) ; 273 : FRON = COUCHE.I.'FRONTIERE' ; 274 : COL1 = COLONN.I ; 275 : MOD1 = COLMOD.I ; 276 : MAT1 = COLMAT.I ; 277 : MAS1 = COLMAS.I ; 278 : RIG1 = COLRIG.I ; 279 : BLO1 = COLBLO.I ; 280 : AMO1 = COLAMO.I ; 281 : 'SINON' ; 282 : FRON = FRON 'ET' ( COUCHE.I.'FRONTIERE' ) ; 283 : COL1 = COL1 'ET' ( COLONN.I ) ; 284 : MOD1 = MOD1 'ET' ( COLMOD.I ) ; 285 : MAT1 = MAT1 'ET' ( COLMAT.I ) ; 286 : MAS1 = MAS1 'ET' ( COLMAS.I ) ; 287 : RIG1 = RIG1 'ET' ( COLRIG.I ) ; 288 : BLO1 = BLO1 'ET' ( COLBLO.I ) ; 289 : AMO1 = AMO1 'ET' ( COLAMO.I ) ; 290 : 'FINSI' ; 291 : 'FIN' BOUCL1 ; 292 : 293 : 'ELIM' COL1 0.01 ; 294 : COL1 = COL1 'COUL' 'ROSE' ; 295 : RIGT = RIG1 'ET' BLO1 ; 296 : 'SI' ( 'EXIS' SOL ) ; 297 : 'TRAC' ( SOL 'ET' COL1 ) 'FACE' 'NCLK' ; 298 : 'SINON' ; 299 : 'TRAC' COL1 'FACE' 'NCLK' ; 300 : 'FINSI' ; 301 : 302 : * Renumérotation des noeuds sur la frontière : TASSER "FRON" 303 : 304 : 'TASS' FRON ; 305 : NB_NOEU = 'NBNO' FRON ; 306 : 307 : * Amortisseurs à la base de la colonne 308 : 309 : 'SAUT' 'LIGNE' ; 310 : 'MESS' 'AMORTISSEURS A LA BASE DE LA COLONNE' ; 311 : BAS_ABS = 'TABLE' ; 312 : P_INI = ( COUCHE.NB_COU.'FRONTIERE' ) 'POINT' 'INITIAL' ; 313 : P_FIN = ( COUCHE.NB_COU.'FRONTIERE' ) 'POINT' 'FINAL' ; 314 : Z_INI = 'COOR' 2 P_INI ; 315 : Z_FIN = 'COOR' 2 P_FIN ; 316 : DZ = Z_INI - Z_FIN ; 317 : 'SI' ( DZ > 0.0 ) ; 318 : P_BAS = P_FIN ; 319 : BAS_ABS.'FRONTIERE' = 'COTE' 2 ( COLONN.NB_COU ) ; 320 : 'SINON' ; 321 : P_BAS = P_INI ; 322 : BAS_ABS.'FRONTIERE' = 'COTE' 4 ( COLONN.NB_COU ) ; 323 : 'FINSI' ; 324 : 325 : BAS_ABS.'YOUNG' = COUCHE.NB_COU.'YOUNG' ; 326 : BAS_ABS.'POISSON' = COUCHE.NB_COU.'POISSON' ; 327 : BAS_ABS.'MASSE_VOLUMIQUE' = COUCHE.NB_COU.'MASSE_VOLUMIQUE'; 328 : TYP_FRO = 'MOT' 'LYSMER' ; 329 : 330 : 'SI' ( 'EGA' DIR 'HORI' ) ; 331 : NHAR = 1 ; 332 : 'SINON' ; 333 : 'SI' ( 'EGA' DIR 'VERT' ) ; 334 : NHAR = 0 ; 335 : 'FINSI' ; 336 : 'FINSI' ; 337 : 338 : AMO_BAS = FRONABS BAS_ABS TYP_FRO NHAR ; 339 : 'LIST' AMO_BAS ; 340 : AMOT = AMO_BAS 'ET' AMO1 ; 341 : 342 : * Accès aux noeuds sur la frontière 343 : 344 : P_INI = ( COUCHE. 1 . 'FRONTIERE' ) 'POINT' 'INITIAL' ; 345 : P_FIN = ( COUCHE. 1 . 'FRONTIERE' ) 'POINT' 'FINAL' ; 346 : 347 : Z_INI = 'COOR' 2 P_INI ; 348 : Z_FIN = 'COOR' 2 P_FIN ; 349 : DZ = Z_INI - Z_FIN ; 350 : 'SI' ( DZ > 0.0 ) ; 351 : P_SUR = P_INI ; 352 : 'SINON' ; 353 : P_SUR = P_FIN ; 354 : 'FINSI' ; 355 : 356 : NUM_SUR = 'NOEUD' P_SUR ; 357 : NUM_BAS = 'NOEUD' P_BAS ; 358 : 359 : POI_FRO = 'TABLE' ; 360 : I = 0 ; 361 : 'REPE' BOUCL2 NB_NOEU ; 362 : I = I + 1 ; 363 : POI_FRO.I = 'NOEU' I ; 364 : 'FIN' BOUCL2 ; 365 : 366 : 367 : ****************** Réponse dynamique de la colonne ***************** 368 : * 369 : * Pour éviter des problèmes de précision liés à l'interpolation du 370 : * chargement produit par cette procédure, le pas de temps utilisé ici 371 : * pour la déconvolution sera également utilisé pour le calcul d'ISS. 372 : * 373 : * Le pas de temps est égale à 1/2, 1/4, 1/8, ... de celui de GAMMAO 374 : * pour éviter des erreurs d'interpolation sur le signal d'entrée. Il 375 : * doit être défini de sorte que la fréquence de coupure utilisée dans 376 : * la procédure DYNAMIC est au moins 4 fois FC. 377 : * 378 : * Durée de calcul 379 : * 380 : * sol monocouche : 3 aller-retours onde S 381 : * sol multicouche : 5 aller-retours onde S (prise en compte des 382 : * réflections sur les interfaces des couches) 383 : * 384 : ************************************************************************ 385 : 386 : * Fréquence de coupure FC 387 : 388 : 'SI' ( 'NON' ( 'EXIS' FC ) ) ; 389 : FC = 50.0 ; 390 : 'FINSI' ; 391 : 'SAUT' 'LIGNE' ; 392 : 'MESS' 'FREQUENCE DE COUPURE = ' FC 'Hz' ; 393 : 394 : 'SAUT' 3 'LIGNE' ; 395 : 'MESS' 'REPONSE DYNAMIQUE DE LA COLONNE' ; 396 : 'SAUT' 'LIGNE' ; 397 : T_GAMO = 'EXTR' GAMMAO 'ABSC' ; 398 : A_GAMO = 'EXTR' GAMMAO 'ORDO' ; 399 : NP = 'DIME' T_GAMO ; 400 : TEM1 = 'EXTR' T_GAMO 1 ; 401 : TEM2 = 'EXTR' T_GAMO 2 ; 402 : TEMNP = 'EXTR' T_GAMO NP ; 403 : PAS_TEM = TEM2 - TEM1 ; 404 : PAS_2FC = 1.0 / ( 8 * FC ) ; 405 : 406 : IDIV = 0 ; 407 : 'REPE' BB1 ; 408 : ERR = (( PAS_TEM / ( 2**IDIV )) - PAS_2FC ) / PAS_2FC ; 409 : 'SI' ( ERR < 0.01 ) ; 410 : 'QUIT' BB1 ; 411 : 'FINSI' ; 412 : IDIV = IDIV + 1 ; 413 : 'FIN' BB1 ; 414 : PAS_TEM = PAS_TEM / (2**IDIV) ; 415 : 416 : 417 : 'SI' ( NB_COU 'EGA' 1 ) ; 418 : G = ( COUCHE. 1 . 'MODULE_G' ) ; 419 : CS = ( G / ( COUCHE. 1 . 'MASSE_VOLUMIQUE' ) ) ** 0.5 ; 420 : DUREE = 6.0 * ( COUCHE. 1 . 'EPAISSEUR' ) / CS ; 421 : 422 : 'SINON' ; 423 : DUREE = 0.0 ; 424 : I = 0 ; 425 : 'REPE' BOUCD NB_COU ; 426 : I = I + 1 ; 427 : G = ( COUCHE.I.'MODULE_G' ) ; 428 : CS = ( G / ( COUCHE.I.'MASSE_VOLUMIQUE' ) ) ** 0.5 ; 429 : DUREE = DUREE + ( 10.0 * ( COUCHE.I.'EPAISSEUR' ) / CS ) ; 430 : 'FIN' BOUCD ; 431 : 'FINSI' ; 432 : 433 : * Impulsion de force horizontale à la base de la colonne 434 : * Sa transformé de Fourier doit être non nulle dans 435 : * l'intervalle (0, FC). On a DT = 7 * PAS_TEM 436 : 437 : 'SAUT' 'LIGNE' ; 438 : 'MESS' 'FORCE APPLIQUEE A LA BASE DE LA COLONNE' ; 439 : 'TITRE' 'FORCE APPLIQUEE A LA BASE DE LA COLONNE' ; 440 : DT = 7 * PAS_TEM ; 441 : NT = 600 ; 442 : L_TIM = 'PROG' 0.0 'PAS' DT 'NPAS' NT ; 443 : L_FOR = 'PROG' 0. 1.E5 0. -1.E5 597 * 0. ; 444 : EV_FOR = 'EVOL' 'MANU' 'TEMPS(S)' L_TIM 'FORCE(N)' L_FOR ; 445 : 446 : DUREE = DUREE + ( 4. * DT ) ; 447 : 'SI' ( DUREE < ( 8. * DT ) ) ; 448 : DUREE = 8. * DT ; 449 : 'FINSI' ; 450 : NB_PAS = 'ENTI' ( DUREE / PAS_TEM ) ; 451 : DUREE = NB_PAS * PAS_TEM ; 452 : 'DESS' EV_FOR XBOR 0.0 DUREE 'NCLK' ; 453 : 'SAUT' 'LIGNE' ; 454 : 'MESS' 'CALCUL DYNAMIQUE POUR LA DECONVOLUTION' ; 455 : 'MESS' 'PAS DE CALCUL = ' PAS_TEM ' DUREE = ' DUREE ; 456 : 457 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 458 : 'SI' ( 'EGA' DIR 'HORI' ) ; 459 : FOR_P = 'PRES' 'MASS' COLMOD.NB_COU 1.0 BAS_ABS.'FRONTIERE' ; 460 : FOR_BAS = ( 'EXCO' 'FZ' FOR_P 'FR' ) 'ET' ( -1.0 * 461 : ( 'EXCO' 'FZ' FOR_P 'FT' ) ) ; 462 : 'SINON' ; 463 : 'SI' ( 'EGA' DIR 'VERT' ) ; 464 : FOR_BAS = 'PRES' 'MASS' COLMOD.NB_COU 1.0 BAS_ABS.'FRONTIERE' ; 465 : 'FINSI' ; 466 : 'FINSI' ; 467 : 'SINON' ; 468 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 469 : 'SI' ( 'EGA' DIR 'HORI' ) ; 470 : FOR_P = 'PRES' 'MASS' COLMOD.NB_COU 1.0 BAS_ABS.'FRONTIERE' ; 471 : FOR_BAS = 'EXCO' 'FY' FOR_P 'FX' ; 472 : 'SINON' ; 473 : 'SI' ( 'EGA' DIR 'VERT' ) ; 474 : FOR_BAS = 'PRES' 'MASS' COLMOD.NB_COU 1.0 BAS_ABS.'FRONTIERE' ; 475 : 'FINSI' ; 476 : 'FINSI' ; 477 : 'FINSI' ; 478 : 'FINSI' ; 479 : CHA_BAS = 'CHAR' FOR_BAS EV_FOR ; 480 : 'LIST' FOR_BAS ; 481 : 482 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 483 : CH_DEPI = 'MANU' 'CHPO' 3 COL1 'UR' 0. 'UT' 0. 'UZ' 0. ; 484 : CH_VITI = 'MANU' 'CHPO' 3 COL1 'UR' 0. 'UT' 0. 'UZ' 0. ; 485 : 'SINON' ; 486 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 487 : CH_DEPI = 'MANU' 'CHPO' 2 COL1 'UX' 0. 'UY' 0. ; 488 : CH_VITI = 'MANU' 'CHPO' 2 COL1 'UX' 0. 'UY' 0. ; 489 : 'FINSI' ; 490 : 'FINSI' ; 491 : 492 : LINST = 'PROG' TEM1 'PAS' PAS_TEM 'NPAS' ( NB_PAS - 1 ) ; 493 : FCDYN = 1.0 / ( 4 * PAS_TEM ) ; 494 : 495 : TAB_DYN = 'TABLE' ; 496 : TAB_DYN.'DEBU' = TEM1 ; 497 : TAB_DYN.'VITE' = CH_VITI ; 498 : TAB_DYN.'DEPL' = CH_DEPI ; 499 : TAB_DYN.'CHAR' = CHA_BAS ; 500 : TAB_DYN.'RIGI' = RIGT ; 501 : TAB_DYN.'MASS' = MAS1 ; 502 : TAB_DYN.'AMOR' = AMOT ; 503 : TAB_DYN.'INST' = LINST ; 504 : TAB_DYN.'FREQ' = FCDYN ; 505 : 506 : 'TEMP' ; 507 : RESU = DYNAMIC TAB_DYN ; 508 : 'SAUT' 'LIGNE' ; 509 : 'MESS' 'FIN DE CALCUL DYNAMIQUE SUR LA COLONNE' ; 510 : 'MENA' ; 511 : 'TASS' FRON ; 512 : 'TEMP' ; 513 : 514 : * Déplacements, vitesses, déformations et réactions * 515 : 516 : 'SI' ( 'EGA' TYP_MODE 'FOUR') ; 517 : 'SI' ( 'EGA' DIR 'HORI' ) ; 518 : UMOT = 'MOT' 'UR' ; 519 : EMOT = 'MOT' 'GARZ' ; 520 : FMOT = 'MOT' 'FZ' ; 521 : 'SINON' ; 522 : 'SI' ( 'EGA' DIR 'VERT' ) ; 523 : UMOT = 'MOT' 'UZ' ; 524 : EMOT = 'MOT' 'EPZZ' ; 525 : FMOT = 'MOT' 'FR' ; 526 : 'FINSI' ; 527 : 'FINSI' ; 528 : 529 : 'SINON' ; 530 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 531 : 'SI' ( 'EGA' DIR 'HORI' ) ; 532 : UMOT = 'MOT' 'UX' ; 533 : EMOT = 'MOT' 'GAXY' ; 534 : FMOT = 'MOT' 'FY' ; 535 : 'SINON' ; 536 : 'SI' ( 'EGA' DIR 'VERT' ) ; 537 : UMOT = 'MOT' 'UY' ; 538 : EMOT = 'MOT' 'EPYY' ; 539 : FMOT = 'MOT' 'FX' ; 540 : 'FINSI' ; 541 : 'FINSI' ; 542 : 'FINSI' ; 543 : 'FINSI' ; 544 : 545 : 'SAUT' 3 'LIGNE' ; 546 : 'MESS' 'FONCTION DE TRANSFERT POUR LES DEPLACEMENTS, LES VITESSES,' ; 547 : 'MESS' 'LES DEFORMATIONS DE CISAILLEMENT ET LES REACTIONS ' ; 548 : 549 : U_FRON = 'TABLE' ; 550 : V_FRON = 'TABLE' ; 551 : E_FRON = 'TABLE' ; 552 : R_FRON = 'TABLE' ; 553 : J = 0 ; 554 : 'REPE' BOUCL3 NB_NOEU ; 555 : J = J + 1 ; 556 : U_FRON.J = 'PROG' 0.0 ; 557 : V_FRON.J = 'PROG' 0.0 ; 558 : E_FRON.J = 'PROG' 0.0 ; 559 : R_FRON.J = 'PROG' 0.0 ; 560 : 'FIN' BOUCL3 ; 561 : 562 : L_TEM = 'PROG' 0.0 ; 563 : I_TEM = 1 ; 564 : 'REPE' BOUCL4 ( NB_PAS - 1 ) ; 565 : I_TEM = I_TEM + 1 ; 566 : L_TEM = L_TEM 'ET' ( 'PROG' ( RESU.I_TEM.'TEMP' ) ) ; 567 : CHD_I = RESU.I_TEM.'DEPL' ; 568 : CHV_I = RESU.I_TEM.'VITE' ; 569 : CHE_I ='CHAN' 'CHPO' MOD1 ( 'EPSI' MOD1 CHD_I MAT1 ) ; 570 : CHR_I ='REAC' BLO1 CHD_I ; 571 : 572 : J = 0 ; 573 : 'REPE' BOUCL4_1 NB_NOEU ; 574 : J = J + 1 ; 575 : U_FRON.J = U_FRON.J 'ET' ('PROG' ('EXTR' CHD_I POI_FRO.J UMOT)) ; 576 : V_FRON.J = V_FRON.J 'ET' ('PROG' ('EXTR' CHV_I POI_FRO.J UMOT)) ; 577 : E_FRON.J = E_FRON.J 'ET' ('PROG' ('EXTR' CHE_I POI_FRO.J EMOT)) ; 578 : R_FRON.J = R_FRON.J 'ET' ('PROG' ('EXTR' CHR_I POI_FRO.J FMOT)) ; 579 : 'FIN' BOUCL4_1 ; 580 : 'FIN' BOUCL4 ; 581 : 582 : * TFR de l'accélération GAMMAO 583 : 584 : 'TITRE' 'TFR DE L ACCELEROGRAMME GAMMAO' ; 585 : NP = 'DIME' ( 'EXTR' GAMMAO 'ABSC' ) ; 586 : XX = ( LOG NP ) / ( LOG 2 ) ; 587 : NN = 'ENTI' XX ; 588 : 'SI' ( XX > ( 1.0 * NN ) ) ; 589 : NN = NN + 1 ; 590 : 'FINSI' ; 591 : 592 : TF_GAMO = 'TFR' NN GAMMAO 'MOPH' ; 593 : FR_GAMO = 'EXTR' TF_GAMO 'ABSC' ; 594 : MO_GAMO = 'EXTR' TF_GAMO 'ORDO' 1 ; 595 : PH_GAMO = 'EXTR' TF_GAMO 'ORDO' 2 ; 596 : NFREQ = 'DIME' FR_GAMO ; 597 : DFREQ = 'EXTR' FR_GAMO 2 ; 598 : FREQN = 'EXTR' FR_GAMO NFREQ ; 599 : MODUN = 'EXTR' MO_GAMO NFREQ ; 600 : 601 : 'SI' ( IDIV NEG 0 ) ; 602 : NN = NN + IDIV ; 603 : 'REMP' MO_GAMO NFREQ ( MODUN / 2.0 ) ; 604 : 605 : NFREQ1 = (2**(NN - 1)) + 1 ; 606 : FR_GAMO = 'PROG' 0.0 'PAS' DFREQ 'NPAS' ( NFREQ1 - 1 ) ; 607 : LIST ( DIME FR_GAMO ) ; 608 : MO_GAMO = MO_GAMO 'ET' ('PROG' (NFREQ1 - NFREQ ) * 0.0) ; 609 : LIST ( DIME MO_GAMO ) ; 610 : PH_GAMO = PH_GAMO 'ET' ('PROG' (NFREQ1 - NFREQ ) * 0.0) ; 611 : LIST ( DIME PH_GAMO ) ; 612 : TF_GAMO = 'EVOL' 'COMP' 'MOPH' 'FREQ(HZ)' FR_GAMO 'MODULE' 613 : MO_GAMO 'PHASE' PH_GAMO ; 614 : 'FINSI' ; 615 : 616 : *-------------------- Début de modif 1 du 20/02/2013 ------------------- 617 : 618 : * TFR du déplacement de contrôle 619 : 620 : 'TITRE' 'TFR DU DEPLACEMENT DE CONTROLE' ; 621 : OMEGA2 = ( FR_GAMO * 2. * PI ) ** 2 ; 622 : 'REMP' OMEGA2 1 1.0 ; 623 : MOD = MO_GAMO / ( OMEGA2 * ( -1 ) ) ; 624 : 'REMP' MOD 1 0.0 ; 625 : TF_DEPLO = 'EVOL' 'COMP' 'MOPH' 'FREQ(HZ)' FR_GAMO 626 : 'MODULE' MOD 'PHASE' PH_GAMO ; 627 : 628 : * TFR du déplacement du outcrop de bedrock sous l'impulsion 629 : * Calcul de vitesse VOUT à partir de l'impulsion à la base F et 630 : * l'amortissement à la base C (VOUT = F/C, sur une unité de surface) 631 : 632 : G = ( COUCHE.NB_COU.'MODULE_G' ) ; 633 : RO = ( COUCHE.NB_COU.'MASSE_VOLUMIQUE' ) ; 634 : NU = ( COUCHE.NB_COU.'POISSON') ; 635 : CS = ( G / RO ) ** 0.5 ; 636 : CP = ((2.0 * (1.0 - NU))/(1.0 - (2.0 * NU))) ** 0.5 ; 637 : CP = CP * CS ; 638 : 639 : 'SI'( 'EGA' DIR 'HORI') ; 640 : VOUT = EV_FOR / (RO * CS) ; 641 : 'SINON' ; 642 : 'SI'( 'EGA' DIR 'VERT') ; 643 : VOUT = EV_FOR / (RO * CP) ; 644 : 'FINSI' ; 645 : 'FINSI' ; 646 : 'TITR' 'VITESSE OUTCROP SOUS L IMPULSION' ; 647 : VOUT = 'EVOL' 'MANU' L_TEM ('IPOL' L_TEM VOUT) ; 648 : TF_VOUT = 'TFR' NN VOUT 'REIM' ; 649 : 650 : 'TITR' 'TFR DEPLACEMENT OUTCROP SOUS L IMPULSION' ; 651 : LF_VOUT = EXTR TF_VOUT ABSC ; 652 : IOMEGA = 2.*PI*LF_VOUT ; 653 : 'REMP' IOMEGA 1 1.0 ; 654 : EVIOMEGA = EVOL COMP 'REIM' LF_VOUT (LF_VOUT*0) IOMEGA ; 655 : TF_UOUT = TF_VOUT / EVIOMEGA ; 656 : RIMP TF_UOUT ; 657 : 658 : * Fonction de transfert / point de contrôle 659 : 660 : H_DEPL = 'TABLE' ; 661 : H_VITE = 'TABLE' ; 662 : H_EPSI = 'TABLE' ; 663 : H_REAC = 'TABLE' ; 664 : 665 : * Point de contrôle en surface libre (option par défaut) 666 : 667 : 'TITRE' 'DEPLACEMENT DE CONTROLE' ; 668 : UO = 'EVOL' 'MANU' 'TEMPS' L_TEM 'DEPL' U_FRON.NUM_SUR ; 669 : TF_UO = 'TFR' NN UO 'MOPH' ; 670 : 671 : * Remplacer le début zéro de TF_UOUT par celui de TF_UO 672 : 673 : UOM = EXTR (EXTR TF_UO ORDO 1) 1 ; 674 : UOP = EXTR (EXTR TF_UO ORDO 2) 1 ; 675 : LF_OUT = EXTR TF_UOUT ABSC ; 676 : LM_OUT = EXTR TF_UOUT ORDO 1 ; 677 : LP_OUT = EXTR TF_UOUT ORDO 2 ; 678 : REMP LM_OUT 1 UOM ; 679 : REMP LP_OUT 1 UOP ; 680 : TF_UOUT = 'EVOL' 'COMP' 'MOPH' 'FREQ(HZ)' LF_OUT 681 : 'MODULE' LM_OUT 'PHASE' LP_OUT ; 682 : 683 : 'SI' ('EXIS' P_GAMMA ) ; 684 : 'SI' ('EXIS' P_GAMMA 'ENTREE') ; 685 : 686 : * Option point de contôle "PROFOND" 687 : 688 : 'SI' (EGA (P_GAMMA.ENTREE.NATURE) 'PROFOND'); 689 : NUM_CTR = 'NOEU' P_GAMMA.ENTREE.CONTROLE; 690 : UO = 'EVOL' 'MANU' 'TEMPS' L_TEM 'DEPL' U_FRON.NUM_CTR ; 691 : TF_UO = 'TFR' NN UO 'MOPH' ; 692 : 'FINSI' ; 693 : 694 : * Option point de contrôle "OUTCROP" de bedrock 695 : 696 : 'SI' (EGA (P_GAMMA.ENTREE.NATURE) 'OUTCROP') ; 697 : TF_UO = TF_UOUT ; 698 : 'FINSI' ; 699 : 'FINSI' ; 700 : 'FINSI' ; 701 : 702 : *--------------------- Fin de modif 1 du 20/02/2013 -------------------- 703 : 704 : * Elimination des zéros dans TF_UO 705 : 706 : LABS = 'PROG' 0.0 FC (FC + DFREQ) 9000.0 ; 707 : LFIL1 = 'PROG' 1.0 1.0 0.0 0.0 ; 708 : LFIL2 = 'PROG' 0.0 0.0 0.0 0.0 ; 709 : LFIL3 = 'PROG' 0.0 0.0 1.0 1.0 ; 710 : 711 : LFIL1 = 'IPOL' FR_GAMO LABS LFIL1 ; 712 : LFIL2 = 'IPOL' FR_GAMO LABS LFIL2 ; 713 : LFIL3 = 'IPOL' FR_GAMO LABS LFIL3 ; 714 : 715 : EVFIL = 'EVOL' 'COMP' 'MOPH' FR_GAMO LFIL1 LFIL2 ; 716 : EVADD = 'EVOL' 'COMP' 'MOPH' FR_GAMO LFIL3 LFIL2 ; 717 : 718 : TF_UO = TF_UO * EVFIL ; 719 : TF_UO = TF_UO + EVADD ; 720 : 721 : 722 : TF_GAMO = TF_GAMO * EVFIL ; 723 : TF_DEPLO = TF_DEPLO * EVFIL ; 724 : 725 : 'TITR' 'ACCELERATION FILTREE AU POINT DE CONTROLE' ; 726 : GAMMAO = 'TFRI' TF_GAMO ; 727 : dess GAMMAO mima ; 728 : 'TITR' 'DEPLACEMENT FILTREE AU POINT DE CONTROLE' ; 729 : DEPLO = 'TFRI' TF_DEPLO ; 730 : 731 : 'TITRE' 'DEPLACEMENT A LA BASE' ; 732 : UB = 'EVOL' 'MANU' 'TEMPS' L_TEM 'DEPL' U_FRON.NUM_BAS ; 733 : 'TITRE' 'VITESSE A LA BASE' ; 734 : VO = 'EVOL' 'MANU' 'TEMPS' L_TEM 'VITE' V_FRON.NUM_BAS ; 735 : 'TITRE' 'DEFORMATION A LA BASE' ; 736 : EO = 'EVOL' 'MANU' 'TEMPS' L_TEM 'EPSI' E_FRON.NUM_BAS ; 737 : 'TITRE' 'REACTION A LA BASE' ; 738 : RO = 'EVOL' 'MANU' 'TEMPS' L_TEM 'REAC' R_FRON.NUM_BAS ; 739 : 740 : J = 0 ; 741 : 'REPE' BOUCL5 NB_NOEU ; 742 : J = J + 1 ; 743 : 'TITRE' 'FONCTION DE TRANSFERT HU DU NOEUD ' J ; 744 : U_J = 'EVOL' 'MANU' 'TEMPS' L_TEM 'DEPL' U_FRON.J ; 745 : TF_UJ = 'TFR' NN U_J 'MOPH' ; 746 : H_DEPL.J = TF_UJ / TF_UO ; 747 : 748 : 'TITRE' 'FONCTION DE TRANSFERT HV DU NOEUD' J ; 749 : V_J = 'EVOL' 'MANU' 'TEMPS' L_TEM 'VITE' V_FRON.J ; 750 : TF_VJ = 'TFR' NN V_J 'MOPH' ; 751 : H_VITE.J = TF_VJ / TF_UO ; 752 : 753 : 'TITRE' 'FONCTION DE TRANSFERT HE DU NOEUD' J ; 754 : E_J = 'EVOL' 'MANU' 'TEMPS' L_TEM 'EPSI' E_FRON.J ; 755 : TF_EJ = 'TFR' NN E_J 'MOPH' ; 756 : H_EPSI.J = TF_EJ / TF_UO ; 757 : 758 : 'TITRE' 'FONCTION DE TRANSFERT HR DU NOEUD' J ; 759 : R_J = 'EVOL' 'MANU' 'TEMPS' L_TEM 'REAC' R_FRON.J ; 760 : TF_RJ = 'TFR' NN R_J 'MOPH' ; 761 : H_REAC.J = TF_RJ / TF_UO ; 762 : 763 : 'FIN' BOUCL5 ; 764 : 'MENA' ; 765 : 'TASS' FRON ; 766 : 767 : *-------------------- Début de modif 2 du 20/02/2013 ------------------- 768 : 769 : * Accélération après déconvolution 770 : 771 : 'SAUT' 2 'LIGNE' ; 772 : 'MESS' 'ACCELERATION DU CHAMP LIBRE' ; 773 : 'SI' ( 'EXIS' P_GAMMA ) ; 774 : NB_GAM = 'DIME' P_GAMMA ; 775 : GAMMA = 'TABLE' ; 776 : 777 : 'SI' ( 'EXIS' P_GAMMA ENTREE ) ; 778 : NB_GAM = NB_GAM - 1 ; 779 : 'FINSI' ; 780 : 781 : K = 0 ; 782 : 'REPE' BOUCL6 NB_GAM ; 783 : K = K + 1 ; 784 : NUM_P = 'NOEU' P_GAMMA.K ; 785 : HU = H_DEPL.NUM_P ; 786 : 'TITRE' 'ACCELERATION DU POINT' K ; 787 : TF_GAM = HU * TF_GAMO ; 788 : GAMMA.K = 'TFRI' TF_GAM ; 789 : GAMMA.K = CHTITR ( GAMMA.K ) 'TEMPS' 'ACCE(M/S*S)' ; 790 : 'FIN' BOUCL6 ; 791 : 792 : HU = TF_UOUT / TF_UO ; 793 : 'TITRE' 'ACCELERATION OUTCROP DE BEDROCK' ; 794 : TF_GAM = HU * TF_GAMO ; 795 : GAMMA.OUTCROP = 'TFRI' TF_GAM ; 796 : GAMMA.OUTCROP = CHTITR GAMMA.OUTCROP 'TEMPS' 'ACCE(M/S*S)' ; 797 : 'FINSI' ; 798 : 799 : *--------------------- Fin de modif 2 du 20/02/2013 -------------------- 800 : 801 : 'SAUT' 'LIGNE' ; 802 : 'MESS' 'VITESSE, DEFORMATION ET REACTION' ; 803 : 804 : J = 0 ; 805 : 'REPE' BOUCL7 NB_NOEU ; 806 : J = J + 1 ; 807 : 808 : * Vitesse compatible avec GAMMAO 809 : 810 : 'TITRE' 'VITESSE DU NOEUD' J ; 811 : TF_VITE = ( H_VITE.J ) * TF_DEPLO ; 812 : V_FRON.J = 'TFRI' TF_VITE ; 813 : 814 : * On met la vitesse initiale (moyenne sur NV point) à zéro 815 : 816 : NV = 70 ; 817 : LT = 'EXTR' ( V_FRON.J ) 'ABSC' ; 818 : LY = 'EXTR' ( V_FRON.J ) 'ORDO' ; 819 : 820 : Y1 = 0 ; 821 : IV = 1 ; 822 : 'REPE' BV NV ; 823 : Y1 = Y1 + ('EXTR' LY IV) ; 824 : IV = IV + 1 ; 825 : 'FIN' BV ; 826 : Y1 = Y1 / NV ; 827 : 828 : NY = 'DIME' LY ; 829 : LY1 = 'PROG' NY * Y1 ; 830 : LY = LY - LY1 ; 831 : V_FRON.J = 'EVOL' 'MANU' 'TEMPS' LT 'VITE(M/S)' LY ; 832 : 833 : * Déformation 834 : 835 : 'TITRE' 'DEFORMATION AU NOEUD' J ; 836 : TF_EPSI = H_EPSI.J * TF_DEPLO ; 837 : E_FRON.J = 'TFRI' TF_EPSI ; 838 : 839 : * Réactions des appuis verticaux 840 : 841 : 'TITRE' 'REACTION VERTICALE AU NOEUD' J ; 842 : TF_REAC = ( H_REAC.J ) * TF_DEPLO ; 843 : R_FRON.J = 'TFRI' TF_REAC ; 844 : 845 : * On met la réaction intiale à zéro 846 : 847 : LT = 'EXTR' ( R_FRON.J ) 'ABSC' ; 848 : LY = 'EXTR' ( R_FRON.J ) 'ORDO' ; 849 : Y1 = 'EXTR' LY 1 ; 850 : NY = 'DIME' LY ; 851 : LY1 = 'PROG' NY * Y1 ; 852 : LY = LY - LY1 ; 853 : R_FRON.J = 'EVOL' 'MANU' 'TEMPS' LT 'REAC' LY ; 854 : 855 : 'FIN' BOUCL7 ; 856 : ************************************************************************ 857 : 858 : * Force d'amortissement à la base 859 : 860 : 'SAUT' 'LIGNE' ; 861 : 'MESS' 'FORCE D"AMORTISSEMENT A LA BASE : LYSMER' ; 862 : 'TITR' 'CONTRAINTE D"AMORTISSEMENT A LA BASE' ; 863 : G = ( COUCHE.NB_COU.'MODULE_G' ) ; 864 : RO = ( COUCHE.NB_COU.'MASSE_VOLUMIQUE' ) ; 865 : NU = ( COUCHE.NB_COU.'POISSON') ; 866 : CS = ( G / RO ) ** 0.5 ; 867 : CP = ((2.0 * (1.0 - NU))/(1.0 - (2.0 * NU))) ** 0.5 ; 868 : CP = CP * CS ; 869 : 870 : 'SI'( 'EGA' DIR 'HORI') ; 871 : SIG_AMO = RO * CS * V_FRON.NUM_BAS ; 872 : SIG_AMO = CHTITR SIG_AMO 'TEMPS(S)' 'SIGMA(PA)' ; 873 : 874 : 'SINON' ; 875 : 'SI'( 'EGA' DIR 'VERT') ; 876 : SIG_AMO = RO * CP * V_FRON.NUM_BAS ; 877 : SIG_AMO = CHTITR SIG_AMO 'TEMPS(S)' 'SIGMA(PA)' ; 878 : 'FINSI' ; 879 : 'FINSI' ; 880 : 881 : * Contrainte à la base 882 : 883 : 'MESS' 'CONTRAINTE A LA BASE' ; 884 : 'MESS' ; 885 : 'TITR' 'IMPULSION A LA BASE' ; 886 : EV_FOR = 'EVOL' 'MANU' L_TEM ( 'IPOL' L_TEM L_TIM L_FOR ) ; 887 : 888 : 'TITR' 'TFR DE L"IMPULSION' ; 889 : TF_FOR = 'TFR' NN EV_FOR 'MOPH' ; 890 : 'TITR' 'FONCTION DE TRANSFERT DE L"IMPULSION' ; 891 : HS = TF_FOR / TF_UO ; 892 : TF_SIG = HS * TF_DEPLO ; 893 : 894 : 'TITR' 'CONTRAINTE A LA BASE' ; 895 : SIG_H = ( 'TFRI' TF_SIG ) - SIG_AMO ; 896 : 897 : * On met la contrainte initiale à zéro 898 : 899 : LT = 'EXTR' SIG_H 'ABSC' ; 900 : LY = 'EXTR' SIG_H 'ORDO' ; 901 : Y1 = 'EXTR' LY 1 ; 902 : NY = 'DIME' LY ; 903 : LY1 = 'PROG' NY * Y1 ; 904 : LY = LY - LY1 ; 905 : 906 : SIG_H = 'EVOL' 'MANU' 'TEMPS(S)' LT 'SIGMA(PA)' LY ; 907 : 908 : 'MENA' ; 909 : 'TASS' FRON ; 910 : ************************************************************************ 911 : *** FRONTIERE ABSORBANTE DU SOL PROCHE *** 912 : ************************************************************************ 913 : 'SAUT' 3 'LIGNE' ; 914 : 'MESS' 'FRONTIERE ABSORBANTE DU SOL PROCHE' ; 915 : 'SAUT' 'LIGNE' ; 916 : 'MESS' 'FRONTIERE VERTICALE DU SOL ' ; 917 : 918 : 'SI' ( 'EGA' DIR 'HORI' ) ; 919 : NHAR = 1 ; 920 : 'SINON' ; 921 : 'SI' ( 'EGA' DIR 'VERT' ) ; 922 : NHAR = 0 ; 923 : 'FINSI' ; 924 : 'FINSI' ; 925 : 926 : I = 0 ; 927 : 'REPE' BOUCL8 NB_COU ; 928 : I = I + 1 ; 929 : 'SI' ( I 'EGA' 1 ) ; 930 : AM_V = FRONABS ( COUCHE. I ) TYP_F NHAR ; 931 : 'SINON' ; 932 : AM_V = AM_V 'ET' ( FRONABS ( COUCHE. I ) TYP_F NHAR ); 933 : 'FINSI' ; 934 : 'FIN' BOUCL8 ; 935 : 936 : 'MESS' 'FRONTIERE HORIZONTALE DU SOL' ; 937 : BAS_ABS.'FRONTIERE' = FOND_SOL ; 938 : AM_H = FRONABS BAS_ABS TYP_F NHAR ; 939 : AMO1 = AM_V 'ET' AM_H ; 940 : 941 : ************************************************************************ 942 : *** CHARGEMENT SISMIQUE SUR LA FRONTIERE HORIZONTALE *** 943 : ************************************************************************ 944 : 945 : 'SAUT' 3 'LIGNE' ; 946 : 'MESS' 'CHARGEMENT SISMIQUE SUR LA FRONTIERE HORIZONTALE' ; 947 : 948 : * FO : forces nodales équivalentes de la contrainte 949 : 950 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 951 : 'SI' ( 'EGA' DIR 'HORI' ) ; 952 : FOR_P = 'PRES' 'MASS' MOD_SOL 1.0 BAS_ABS.'FRONTIERE' ; 953 : FOR_H = ( 'EXCO' 'FZ' FOR_P 'FR' ) 'ET' ( -1.0 * 954 : ( 'EXCO' 'FZ' FOR_P 'FT' ) ) ; 955 : 'SINON' ; 956 : 'SI' ( 'EGA' DIR 'VERT' ) ; 957 : FOR_H = 'PRES' 'MASS' MOD_SOL 1.0 BAS_ABS.'FRONTIERE' ; 958 : 'FINSI' ; 959 : 'FINSI' ; 960 : 'SINON' ; 961 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 962 : 'SI' ( 'EGA' DIR 'HORI' ) ; 963 : FOR_P = 'PRES' 'MASS' MOD_SOL 1.0 BAS_ABS.'FRONTIERE' ; 964 : FOR_H = 'EXCO' 'FY' FOR_P 'FX' ; 965 : 966 : 'SINON' ; 967 : 'SI' ( 'EGA' DIR 'VERT' ) ; 968 : FOR_H = 'PRES' 'MASS' MOD_SOL 1.0 BAS_ABS.'FRONTIERE' ; 969 : 'FINSI' ; 970 : 'FINSI' ; 971 : 'FINSI' ; 972 : 'FINSI' ; 973 : CHA_HFO = 'CHAR' FOR_H SIG_H ; 974 : 975 : * Amortissement * viteese A*VO 976 : 977 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 978 : 'SI' ( 'EGA' DIR 'HORI' ) ; 979 : CH_V = 'MANU' 'CHPO' FOND_SOL 2 'UR' 1.0 'UT' -1.0 ; 980 : 'SINON' ; 981 : 'SI' ( 'EGA' DIR 'VERT' ) ; 982 : CH_V = 'MANU' 'CHPO' FOND_SOL 1 'UZ' 1.0 ; 983 : 'FINSI' ; 984 : 'FINSI' ; 985 : 'SINON' ; 986 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 987 : 'SI' ( 'EGA' DIR 'HORI' ) ; 988 : CH_V = 'MANU' 'CHPO' FOND_SOL 1 'UX' 1.0 ; 989 : 'SINON' ; 990 : 'SI' ( 'EGA' DIR 'VERT' ) ; 991 : CH_V = 'MANU' 'CHPO' FOND_SOL 1 'UY' 1.0 ; 992 : 'FINSI' ; 993 : 'FINSI' ; 994 : 'FINSI' ; 995 : 'FINSI' ; 996 : 997 : F_BAS = AM_H * CH_V ; 998 : CHA_HAX = 'CHAR' F_BAS ( V_FRON.NUM_BAS ) ; 999 : 'MENA' ; 1000 : 'TASS' FRON ; 1001 : 1002 : ************************************************************************ 1003 : *** CHARGEMENT SISMIQUE SUR LA FRONTIERE VERTICALE *** 1004 : ************************************************************************ 1005 : 1006 : * FO = - Réaction 1007 : 1008 : 'MESS' 'CHARGEMENT SISMIQUE SUR LA FRONTIERE VERTICALE' ; 1009 : J = 0 ; 1010 : 'REPE' BOUCL9 NB_NOEU ; 1011 : J = J + 1 ; 1012 : 'SI' ( J 'EGA' 1 ) ; 1013 : CHA_VFO = 'CHAR' ( 'FORC' FMOT -1.0 POI_FRO.J ) ( R_FRON.J ) ; 1014 : 'SINON' ; 1015 : CHA_VFO = ('CHAR' ( 'FORC' FMOT -1.0 POI_FRO.J ) ( R_FRON.J )) 1016 : 'ET' CHA_VFO ; 1017 : 'FINSI' ; 1018 : 'FIN' BOUCL9 ; 1019 : 1020 : * Amortissement * viteese : A*VO 1021 : 1022 : V_ABSC = 'EXTR' ( V_FRON. 1 ) 'ABSC' ; 1023 : N_PAS = 'DIME' V_ABSC ; 1024 : 1025 : * Mode PLANDEFO, DIR = HORI ou VERT 1026 : 1027 : 'SI' ( 'EGA' TYP_MODE 'PLANDEFO' ) ; 1028 : 'SI' ( 'EGA' DIR 'HORI' ) ; 1029 : UDIR = 'MOT' 'UX' ; 1030 : FDIR = 'MOT' 'FX' ; 1031 : 'SINON' ; 1032 : 'SI' ( 'EGA' DIR 'VERT' ) ; 1033 : UDIR = 'MOT' 'UY' ; 1034 : FDIR = 'MOT' 'FY' ; 1035 : 'FINSI' ; 1036 : 'FINSI' ; 1037 : VISC = 'TABLE' ; 1038 : K = 0 ; 1039 : 'REPE' BOUCL10 NB_NOEU ; 1040 : K = K + 1 ; 1041 : EV01 = V_FRON.K ; 1042 : V_FRON.K = 'EXTR' EV01 'ORDO' ; 1043 : VISC.K = 'PROG' N_PAS * 0.0 ; 1044 : 'FIN' BOUCL10 ; 1045 : 1046 : J = 0 ; 1047 : 'REPE' BOUCL11 NB_NOEU ; 1048 : J = J + 1 ; 1049 : VEC_U = 'MANU' 'CHPO' POI_FRO.J 1 UDIR 1.0 ; 1050 : VEC_F = AM_V * VEC_U ; 1051 : 1052 : K = 0 ; 1053 : 'REPE' BOUC11B NB_NOEU ; 1054 : K = K + 1 ; 1055 : AM_JK = 'EXTR' VEC_F POI_FRO.K FDIR ; 1056 : VISC.K = VISC.K + ( AM_JK * V_FRON.J ) ; 1057 : 'FIN' BOUC11B ; 1058 : 'FIN' BOUCL11 ; 1059 : 1060 : * Recombinaison 1061 : 1062 : FOR_H = 'FORC' FDIR 1.0 POI_FRO.1 ; 1063 : CHA_VAX = 'CHAR' FOR_H ( 'EVOL' 'MANU' 1064 : V_ABSC ( VISC. 1 ) ) ; 1065 : K = 1 ; 1066 : 'REPE' BOUCL12 ( NB_NOEU - 1 ) ; 1067 : K = K + 1 ; 1068 : FOR_H = 'FORC' FDIR 1.0 POI_FRO.K ; 1069 : CHA_VAX =( 'CHAR' FOR_H ( 'EVOL' 'MANU' 1070 : V_ABSC ( VISC.K ) ) ) 'ET' CHA_VAX ; 1071 : 'FIN' BOUCL12 ; 1072 : 'FINSI' ; 1073 : 1074 : * Mode FOUR 0 ( DIR = VERT ) 1075 : 1076 : 'SI' ( 'EGA' TYP_MODE 'FOUR' ) ; 1077 : 'SI' ( 'EGA' DIR 'VERT' ) ; 1078 : VISC_Z = 'TABLE' ; 1079 : K = 0 ; 1080 : 'REPE' BOUCL13 NB_NOEU ; 1081 : K = K + 1 ; 1082 : EV01 = V_FRON.K ; 1083 : V_FRON.K = 'EXTR' EV01 'ORDO' ; 1084 : VISC_Z.K = 'PROG' N_PAS * 0.0 ; 1085 : 'FIN' BOUCL13 ; 1086 : 1087 : J = 0 ; 1088 : 'REPE' BOUCL14 NB_NOEU ; 1089 : J = J + 1 ; 1090 : VEC_VZ = 'MANU' 'CHPO' POI_FRO.J 1 'UZ' 1.0 ; 1091 : VEC_FZ = AM_V * VEC_VZ ; 1092 : K = 0 ; 1093 : 'REPE' BOUC14B NB_NOEU ; 1094 : K = K + 1 ; 1095 : AMZ_JK = 'EXTR' VEC_FZ POI_FRO.K 'FZ' ; 1096 : VISC_Z.K = VISC_Z.K + ( AMZ_JK * V_FRON.J ) ; 1097 : 'FIN' BOUC14B ; 1098 : 'FIN' BOUCL14 ; 1099 : 1100 : * Recombinaison 1101 : 1102 : FOR_Z = 'FORC' 'FZ' 1.0 POI_FRO.1 ; 1103 : CHA_VAZ = 'CHAR' FOR_Z ( 'EVOL' 'MANU' 1104 : V_ABSC ( VISC_Z. 1 )) ; 1105 : K = 1 ; 1106 : 'REPE' BOUCL15 ( NB_NOEU - 1 ) ; 1107 : K = K + 1 ; 1108 : FOR_Z = 'FORC' 'FZ' 1.0 POI_FRO.K ; 1109 : CHA_VAZ =( 'CHAR' FOR_Z ( 'EVOL' 'MANU' 1110 : V_ABSC ( VISC_Z.K ))) 'ET' CHA_VAZ ; 1111 : 'FIN' BOUCL15 ; 1112 : CHA_VAX = CHA_VAZ ; 1113 : 'FINSI' ; 1114 : 1115 : * Mode FOUR 1 ( DIR = HORI ) 1116 : 1117 : 'SI' ( 'EGA' DIR 'HORI' ) ; 1118 : VISC_R = 'TABLE' ; 1119 : VISC_T = 'TABLE' ; 1120 : K = 0 ; 1121 : 'REPE' BOUCL16 NB_NOEU ; 1122 : K = K + 1 ; 1123 : EV01 = V_FRON.K ; 1124 : V_FRON.K = 'EXTR' EV01 'ORDO' ; 1125 : VISC_R.K = 'PROG' N_PAS * 0.0 ; 1126 : VISC_T.K = 'PROG' N_PAS * 0.0 ; 1127 : 'FIN' BOUCL16 ; 1128 : J = 0 ; 1129 : 'REPE' BOUCL17 NB_NOEU ; 1130 : J = J + 1 ; 1131 : VEC_VR = 'MANU' 'CHPO' POI_FRO.J 1 'UR' 1.0 ; 1132 : VEC_VT = 'MANU' 'CHPO' POI_FRO.J 1 'UT' 1.0 ; 1133 : VEC_FR = AM_V * VEC_VR ; 1134 : VEC_FT = AM_V * VEC_VT ; 1135 : K = 0 ; 1136 : 'REPE' BOUC17B NB_NOEU ; 1137 : K = K + 1 ; 1138 : AMR_JK = 'EXTR' VEC_FR POI_FRO.K 'FR' ; 1139 : AMT_JK = 'EXTR' VEC_FT POI_FRO.K 'FT' ; 1140 : VISC_R.K = VISC_R.K + ( AMR_JK * V_FRON.J ) ; 1141 : VISC_T.K = VISC_T.K - ( AMT_JK * V_FRON.J ) ; 1142 : 'FIN' BOUC17B ; 1143 : 'FIN' BOUCL17 ; 1144 : 1145 : * Recombinaison 1146 : 1147 : FOR_R = 'FORC' 'FR' 1.0 POI_FRO.1 ; 1148 : FOR_T = 'FORC' 'FT' 1.0 POI_FRO.1 ; 1149 : CHA_VAR = 'CHAR' FOR_R ( 'EVOL' 'MANU' 1150 : V_ABSC ( VISC_R. 1 ) ) ; 1151 : CHA_VAT = 'CHAR' FOR_T ( 'EVOL' 'MANU' 1152 : V_ABSC ( VISC_T. 1 ) ) ; 1153 : K = 1 ; 1154 : 'REPE' BOUCL18 ( NB_NOEU - 1 ) ; 1155 : K = K + 1 ; 1156 : FOR_R = 'FORC' 'FR' 1.0 POI_FRO.K ; 1157 : CHA_VAR = CHA_VAR 'ET' ( 'CHAR' FOR_R ( 'EVOL' 1158 : 'MANU' V_ABSC ( VISC_R.K ) ) ) ; 1159 : FOR_T = 'FORC' 'FT' 1.0 POI_FRO.K ; 1160 : CHA_VAT = CHA_VAT 'ET' ( 'CHAR' FOR_T ( 'EVOL' 1161 : 'MANU' V_ABSC ( VISC_T.K ) ) ) ; 1162 : 'FIN' BOUCL18 ; 1163 : CHA_VAX = CHA_VAR 'ET' CHA_VAT ; 1164 : 1165 : 'FINSI' ; 1166 : 'FINSI' ; 1167 : CHA1 = CHA_HFO 'ET' CHA_HAX 'ET' CHA_VFO 'ET' CHA_VAX ; 1168 : 1169 : * Changement de format du chargement 1170 : 1171 : CHA1 = 'CHAN' 'TABL' CHA1 'MECA' ; 1172 : 1173 : ************************************************************************ 1174 : *** Déformation de cisaillement maximale *** 1175 : ************************************************************************ 1176 : 'SAUT' 2 'LIGNE' ; 1177 : 'MESS' 'DEFORMATION MAXIMALE' ; 1178 : PROF = 'PROG' NB_NOEU * 0.0 ; 1179 : GMAX = 'PROG' NB_NOEU * 0.0 ; 1180 : J = 0 ; 1181 : 'REPE' BOUCL19 NB_NOEU ; 1182 : J = J + 1 ; 1183 : ZJ = 'COOR' 2 ( POI_FRO.J ) ; 1184 : CISA = 'EXTR' ( E_FRON.J ) 'ORDO' ; 1185 : GX = 'MAXI' CISA 'ABS' ; 1186 : 'REMP' PROF J ZJ ; 1187 : 'REMP' GMAX J GX ; 1188 : 'FIN' BOUCL19 ; 1189 : GMAXMAX = 'MAXI' GMAX ; 1190 : 1191 : * Evolution de deformation en profondeur 1192 : 1193 : 'SI' ( 'EGA' DIR 'HORI' ) ; 1194 : 'TITR' 'DEFORMATION DE CISAILLEMENT MAXIMALE' ; 1195 : DEFZ = 'EVOL' 'MANU' 'PROFONDEUR' PROF 'GAM_MAX' GMAX ; 1196 : DEFZ = 'ORDO' 'DECROISSANT' DEFZ ; 1197 : ZFROF = 'EXTR' DEFZ 'ABSC' ; 1198 : ZGMAX = 'EXTR' DEFZ 'ORDO' ; 1199 : DEFZ = 'EVOL' 'MANU' 'GAM_MAX' ZGMAX 'PROFONDEUR' ZFROF ; 1200 : 'DESS' DEFZ 'CARR' 'NCLK' ; 1201 : 'FINSI' ; 1202 : 1203 : 'SI' ( 'EGA' DIR 'VERT' ) ; 1204 : 'TITR' 'DEFORMATION VERTICALE MAXIMALE' ; 1205 : DEFZ = 'EVOL' 'MANU' 'PROFONDEUR' PROF 'EPS_MAX' GMAX ; 1206 : DEFZ = 'ORDO' 'DECROISSANT' DEFZ ; 1207 : ZFROF = 'EXTR' DEFZ 'ABSC' ; 1208 : ZGMAX = 'EXTR' DEFZ 'ORDO' ; 1209 : DEFZ = 'EVOL' 'MANU' 'EPS_MAX' ZGMAX 'PROFONDEUR' ZFROF ; 1210 : 'DESS' DEFZ 'CARR' 'NCLK' ; 1211 : 'FINSI' ; 1212 : 1213 : 'SAUT' 5 'LIGNE' ; 1214 : 'MESS' '*********************************************************' ; 1215 : 'MESS' '* *' ; 1216 : 'MESS' '* FIN DE LA PROCEDURE DE LA DECONVOLUTION *' ; 1217 : 'MESS' '* *' ; 1218 : 'MESS' '*********************************************************' ; 1219 : 'SAUT' 5 'LIGNE' ; 1220 : 1221 : TABRESU = 'TABLE' ; 1222 : 1223 : TABRESU.'CHAR' = CHA1 ; 1224 : TABRESU.'AMOR' = AMO1 ; 1225 : TABRESU.'DEFO' = DEFZ ; 1226 : TABRESU.'ACCE' = GAMMA ; 1227 : TABRESU.'PAS' = PAS_TEM ; 1228 : TABRESU.'FCDYN' = FCDYN ; 1229 : 1230 : 'FINPROC' TABRESU ; 1231 : ************************************************************************ 1232 : 1233 :
© Cast3M 2003 - All rights reserved.
Disclaimer