Download deconv.procedur

Back to the list

   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