Download ec8acsis.procedur

Back to the list

   1 : * EC8ACSIS  PROCEDUR  AM        95/12/28    21:21:14     1962           
   2 : ****************************************************************************
   3 : *                                            DATE     25/05/90
   4 : *   Procedure EC8ACSIS
   5 : *
   6 : *   RS = EC8ACSIS PARAM;
   7 : ****************************************************************************
   8 : *   objet:
   9 : *
  10 : * a)
  11 : *
  12 : *   Generation d'un spectre de reponse RS (objet de type EVOLUTION
  13 : *   comportant une seule courbe) selon les directive de l' EUROCODE
  14 : *   numero 8 et suivant les parametres PARAM (objet de type TABLE).
  15 : *
  16 : *   L' EUROCODE 8 propose l' evolution en periode suivante:
  17 : *
  18 : *    0  < T  < T1       Be = 1 + T/T1 * (B0-1)
  19 : *
  20 : *    T1 < T  < T2       Be = B0
  21 : *
  22 : *    T2 < T             Be = (T2/T)**K * B0
  23 : *
  24 : *   Be(B0) etant le spectre de reponse d' acceleration normalise, pour un
  25 : *   amortissement de 5%, RS est obtenu apres introduction de l'acceleration
  26 : *   maximale Ag du sol et de le coeficient d'amortissement (Khi) (<.7):
  27 : *
  28 : *                       RE =  Ag * Be(Eta*B0)  Eta=(.05/Khi) **.5
  29 : *
  30 : *   Pour des periode elevees le code doit etre complete. Pour les terrains
  31 : *   standards, on limite le deplacement :
  32 : *
  33 : *                        d < dmax = (Ag/g) * D0
  34 : *
  35 : *   ou g est l'acceleration de la pesanteur.
  36 : *
  37 : *   Dans ce cas le RE sera definie par le dmax multiplier par le facteur
  38 : *   d'amplification pour les hautes periodes AMPF (AMPF =1.4).
  39 : *
  40 : *   Des jeux de donnees (T1,T2,B0,K et D0) sont prevus pour les terrains
  41 : *   de type A, B ou C.
  42 : *
  43 : *   Le spectre RS est genere sur une grille de periode compris entre
  44 : *   TINI (T2).
  45 : *
  46 : *
  47 : * b)
  48 : *
  49 : *    Generation d'un spectre de reponse RS pour utiliser dans les analyses
  50 : *    Lineaires. Dans ce cas B0 est divise par le facteur de comportement
  51 : *
  52 : *          B0 = B0 / Q
  53 : *
  54 : *    et par T > T2 la condition de deplacement constant n'est pas imposee.
  55 : *    c.a.d.
  56 : *
  57 : *                RE =  Ag * Be(Eta*B0/Q)
  58 : *
  59 : *    sujet a la condition
  60 : *
  61 : *                RE >= 0.2 Ag
  62 : *
  63 : ****************************************************************************
  64 : *   parametres obligatoires:
  65 : *
  66 : *   Les parametres sont contenues dans PARAM (objet de type TABLE).
  67 : *
  68 : *   PARAM.'TYPE'= objet de type MOT indiquant le type de spectre a
  69 : *                 savoir:
  70 : *
  71 : *              a) 'ALIN' (spectre de reponse pour l'analyse lineaire
  72 : *                 (linear analysis design spectra)). dans ce cas
  73 : *                 on est oblige de founire le paramaitre Q coeficient
  74 : *                 de comportement (behaviour factor) dans la table
  75 : *
  76 : *              b) 'GSIG' (spectre de reponse pour la generation des
  77 : *                 signaux artificieles
  78 :  
  79 : *   PARAM.'AG'  = objet de type FLOTTANT indiquant l'acceleration
  80 : *                 maximalle .
  81 : *
  82 : *   PARAM.'SOIL'= objet de type MOT indiquant le type de terrain
  83 : *                 'A' 'B' ou 'C'
  84 : *      ou
  85 : *
  86 : *   PARAM.'T1'
  87 : *   PARAM.'T2'  = objets de type FLOTTANT indiquant T1, T2 et B0.
  88 : *   PARAM.'B0'
  89 : *
  90 : *   PARAM.'TINI'
  91 : *   PARAM.'TFIN'= objets de type FLOTTANT donnant TINI et TFIN.
  92 : ****************************************************************************
  93 : *   parametres optionnels:
  94 : *
  95 : *   PARAM.'K'   = objet de type FLOTTANT representant K (defaut = 1
  96 : *                 conduisant a une vitesse constante)
  97 : *
  98 : *   PARAM.'D0'  = objet de type FLOTTANT indiquant D0
  99 : *                 (defaut = pas de limitation).
 100 : *
 101 : *   PARAM.'AMOR' = objet de type FLOTTANT indiquant Khi (defaut = 0.05)
 102 : *
 103 : *
 104 : *   PARAM.'GRAN'= objet de type mot representant la grandeur physique de
 105 : *                 reponse: ACCE(leration), VITE(sse) ou DEPL(acement
 106 : *                 relatif). Le defaut est ACCE.
 107 : *
 108 : *   PARAM.'ABSC'= objet de type mot representant la grandeur physique des
 109 : *                 abcisses: PERI(ode) ou FREQ(uence). Le defaut est PERI.
 110 : *
 111 : *
 112 : *   PARAM.'N'   = objets de type ENTIER indiquant le nombre de points sur
 113 : *   PARAM.'NP'    les branches du spectre au-dela de T2 (defaut = 25).
 114 : ****************************************************************************
 115 : 'DEBPROC' EC8ACSIS PARAM*'TABLE';
 116 : *
 117 : *MESSAGE 'debut'
 118 : *----- Lecture des donnees dans la table et setting des defauts
 119 : *
 120 : *--- Presence des donnees obligatoires
 121 : *
 122 : LOK=VRAI;
 123 : SS=1.;
 124 : 'SI' ('EXISTE' PARAM 'SOIL');
 125 :   SOIL= PARAM.'SOIL';
 126 : 'SI' ('EGA' SOIL 'A'); T1=.2; T2=.4; B0=2.5;K=1;D0= 60.; SS=1.;'SINON';
 127 : 'SI' ('EGA' SOIL 'B'); T1=.2; T2=.6; B0=2.5;K=1;D0= 90.; SS=1.;'SINON';
 128 : 'SI' ('EGA' SOIL 'C'); T1=.3; T2=.8; B0=2.5;K=1;D0=120.; SS=.8;'SINON';
 129 :   'MESSAGE' 'LE SOIL EST A, B OU C'; LOK=FAUX; 'FINSI';'FINSI';'FINSI';
 130 : 'SINON';
 131 :  SOIL='specifique';
 132 :  'SI' ('NON' ('EXISTE' PARAM 'T1'));
 133 :    'MESSAGE' 'LE PARAMETRE T1 DOIT ETRE PRESENT DANS LA TABLE';
 134 :    LOK=FAUX;
 135 :  'SINON'; T1 = PARAM.'T1';
 136 :  'FINSI';
 137 :  'SI' ('NON' ('EXISTE' PARAM 'T2'));
 138 :    'MESSAGE' 'LE PARAMETRE T2 DOIT ETRE PRESENT DANS LA TABLE';
 139 :    LOK=FAUX;
 140 :  'SINON'; T2 = PARAM.'T2';
 141 :  'FINSI';
 142 :  'SI' ('NON' ('EXISTE' PARAM 'B0'));
 143 :    'MESSAGE' 'LE PARAMETRE B0 DOIT ETRE PRESENT DANS LA TABLE';
 144 :    LOK=FAUX;
 145 :  'SINON'; B0 = PARAM.'B0';
 146 :  'FINSI';
 147 : 'FINSI';
 148 : 'SI' ('NON' ('EXISTE' PARAM 'TINI'));
 149 :   'MESSAGE' 'LE PARAMETRE TINI DOIT ETRE PRESENT DANS LA TABLE';
 150 :   LOK=FAUX;
 151 : 'SINON'; TINI = PARAM.'TINI';
 152 : 'FINSI';
 153 : 'SI' ('NON' ('EXISTE' PARAM 'TFIN'));
 154 :   'MESSAGE' 'LE PARAMETRE TFIN DOIT ETRE PRESENT DANS LA TABLE';
 155 :   LOK=FAUX;
 156 : 'SINON'; TFIN = PARAM.'TFIN';
 157 : 'FINSI';
 158 : 'SI' ('NON' ('EXISTE' PARAM 'AG'));
 159 :   'MESSAGE' 'LE PARAMETRE AG DOIT ETRE PRESENT DANS LA TABLE';
 160 :   LOK=FAUX;
 161 : 'SINON'; AG = PARAM.'AG';
 162 : 'FINSI';
 163 : ****************************************************************
 164 : 'SI' ('NON' ('EXISTE' PARAM 'TYPE'));
 165 :   'MESSAGE'
 166 :   'LE MOT CLEE QUI DEFINE LE TYPE DOIT ETRE PRESENT DANS LA TABLE';
 167 :   LOK=FAUX;
 168 : 'SINON'; MTYPE = PARAM.'TYPE';
 169 :          'SI' ('EGA' MTYPE 'ALIN');
 170 :               'SI' ('EXISTE' PARAM 'Q'); QFAC = PARAM.'Q';
 171 :               'SINON';
 172 :               'MESSAGE' 'LE FACTEUR Q DOIT ETRE PRESENT DANS LA TABLE';
 173 :                LOK=FAUX;
 174 :               'FINSI';
 175 :          'FINSI';
 176 :          'SI' ('EGA' MTYPE 'GSIG'); QFAC = 1.0; 'FINSI';
 177 :     'SI' (('EGA' MTYPE 'GSIG') 'OU' ('EGA' MTYPE 'ALIN'));
 178 :     'SINON'
 179 :     'MESSAGE' ' LES TYPES POSSIBLES SON "ALIN" et "GSIG"';
 180 :     LOK=FAUX;
 181 :     'FINSI';
 182 : 'FINSI';
 183 : *MESSAGE 'fin presence donnee obligatoire';
 184 : *
 185 : *--- Presence des donnees facultatives
 186 : *
 187 : 'SI' LOK;
 188 :   'SI' ('NON' ('EXISTE' PARAM 'SOIL'));
 189 :     'SI' ('EXISTE' PARAM 'K' ); K =PARAM.'K' ;
 190 :     'SINON';                    K =1 ;         'FINSI';
 191 :     'SI' ('EXISTE' PARAM 'D0'); D0=PARAM.'D0';
 192 :     'SINON';                    D0=0.;         'FINSI';
 193 :   'FINSI';
 194 :   'SI' ('EXISTE' PARAM 'AMOR'); AMOR=PARAM.'AMOR';
 195 : *                              ETA = (0.05/AMOR)**0.5;
 196 :                                AAA=0.05/AMOR; ETA = AAA**0.5;
 197 :   'SINON';                     ETA=1;           'FINSI';
 198 :   'SINON';                     AMOR=0.05;       'FINSI';
 199 :   'SI' ('EXISTE' PARAM 'N')  ; N  =PARAM.'N' ;
 200 :   'SINON';                     N  =25;         'FINSI';
 201 :   'SI' ('EXISTE' PARAM 'NP') ; NP =PARAM.'NP' ;
 202 :   'SINON';                     NP =25;         'FINSI';
 203 :   'SI' ('EXISTE' PARAM 'GRAN');GR =PARAM.'GRAN';
 204 :   'SINON';                     GR ='ACCE';        'FINSI';
 205 :   'SI' ('EXISTE' PARAM 'ABSC');ABSC =PARAM.'ABSC';
 206 :   'SINON';                     ABSC ='PERI';        'FINSI';
 207 : 'FINSI';
 208 : *MESSAGE 'fin presence donnee facultative';
 209 : *
 210 : *--- Les constantes
 211 : *
 212 : *    AMPF = Facteur d'amplification pour les hautes periodes
 213 : *
 214 :  DPI=2 * 3.1415927; G=980.665; AMPF=1.4;
 215 : *
 216 : *--- Verification des donnees
 217 : *
 218 : *
 219 : 'SI' LOK;
 220 :   'SI' (TINI '>EG' T1);
 221 :     'MESSAGE' 'LE PARAMETRE TINI DOIT ETRE INFERIEUR A T1';
 222 :     LOK=FAUX;
 223 :   'FINSI';
 224 :   'SI' (TFIN '<EG' T2);
 225 :     'MESSAGE' 'LE PARAMETRE TFIN DOIT ETRE SUPERIEUR A T2';
 226 :     LOK=FAUX;
 227 :   'FINSI';
 228 :   'SI' ((D0 'EGA' 0.) 'OU' ('EGA' MTYPE 'ALIN')); T3=T2;
 229 :   'SINON';
 230 : *          DPI=2 * 3.1415927; G=980.665; AMPF=1.4;
 231 :            DMAX= (AG/G) * D0 * AMPF;
 232 : *          T3  = (((DPI**2)/(T2**K))*(D0/(B0*G)))**(1./(2-K));
 233 :            T3  = ((DPI**2)/(T2**K))*(D0*AMPF/(B0*G));
 234 :            EXPO=1./(2-K);
 235 :            T3  = T3 ** EXPO;
 236 :   'FINSI';
 237 :   'SI' (T3 '<' T2);
 238 :     'MESSAGE' 'T3 (DEBUT DE LA ZONE A D CST DOIT ETRE SUPERIEUR A T2';
 239 :     LOK=FAUX;
 240 :   'FINSI';
 241 :   'SI' (T3 '>EG' TFIN); T3=T2; 'FINSI';
 242 : 'FINSI';
 243 : *MESSAGE 'fin verification';
 244 : *
 245 : *----- Calcul du Spectre de reponse
 246 : *
 247 : 'SI' LOK;
 248 :   B0 = B0 * ETA * SS / QFAC ;
 249 :   RES='PROG'; PER='PROG';
 250 : *
 251 : *--- Premiere zone (acceleration lineairement croissante)
 252 : *
 253 :   J=1; T=TINI;
 254 :   UNPXI='EXP' ( (('LOG' T1) - ('LOG' TINI)) / 5 );
 255 :   'REPETER' LAB0 5;
 256 :     RES ='INSERER' RES J (1+((B0-1.)*(T/T1))); PER= 'INSERER' PER J T;
 257 :     J=J+1;T=T*UNPXI;
 258 :   'FIN' LAB0;
 259 : *MESSAGE 'fin premiere zone';
 260 : *
 261 : *--- Seconde zone (acceleration constante)
 262 : *
 263 :   RES='INSERER' RES J B0; PER='INSERER' PER J T1;
 264 :   J=J+1;
 265 :   RES='INSERER' RES J B0; PER='INSERER' PER J T2;
 266 : *MESSAGE 'fin seconde zone';
 267 : *
 268 : *--- Troisieme zone (acceleration K decroissante)
 269 : *
 270 :   T=T2;
 271 :   'SI' (T2 'EGA' T3);
 272 :     UNPXI='EXP' ( (('LOG' TFIN) - ('LOG' T2)) / N );
 273 :   'SINON';
 274 :     UNPXI='EXP' ( (('LOG' T3) - ('LOG' T2)) / N );
 275 :   'FINSI';
 276 :   'REPETER' LAB1 (N-1);
 277 :     J=J+1;T=T*UNPXI;
 278 : *   RES='INSERER' RES J (B0/((T/T2)**K));PER= 'INSERER' PER J T;
 279 :     AAA=T/T2; B1 = B0/(AAA**K); CR11 = AG / G / 5;
 280 :         'SI' ( CR11 '>EG' B1 );
 281 :          B1 = CR11;
 282 :         'FINSI';
 283 :          RES='INSERER' RES J B1 ; PER='INSERER' PER J T;
 284 :   'FIN' LAB1;
 285 :   J=J+1;
 286 :   'SI' (T2 'EGA' T3); T=TFIN;
 287 :   'SINON'; T=T3;              'FINSI';
 288 : * B1=B0/((T/T2)**K);
 289 :   AAA=T/T2;  B1 = B0/(AAA**K); CR11 = AG / G / 5;
 290 :         'SI' ( CR11 '>EG' B1 );
 291 :          B1 = CR11;
 292 :         'FINSI';
 293 :          RES='INSERER' RES J B1 ;PER= 'INSERER' PER J T;
 294 : *B1=B0/(AAA**K);
 295 : *  RES='INSERER' RES J B1;PER= 'INSERER' PER J T;
 296 : *MESSAGE 'fin troisieme zone';
 297 : *
 298 : *--- Quatrieme zone (acceleration KP decroissante)
 299 : *
 300 :   'SI' ('NON' (T2 'EGA' T3));
 301 :     UNPXI='EXP' ( (('LOG' TFIN) - ('LOG' T3)) / NP );
 302 :     'REPETER' LAB2 (NP-1);
 303 :       J=J+1;T=T*UNPXI;
 304 :       RES='INSERER' RES J (B1/((T/T3)**2));PER= 'INSERER' PER J T;
 305 :     'FIN' LAB2;
 306 :     J=J+1;
 307 :     RES='INSERER' RES J (B1/((TFIN/T3)**2));PER= 'INSERER' PER J TFIN;
 308 :   'FINSI';
 309 : *MESSAGE 'fin quatrieme zone';
 310 : *
 311 : *--- Normalisation
 312 : *
 313 :   RES=RES*AG;
 314 : *MESSAGE 'fin normalisation';
 315 : *
 316 : *--- Generation en vitesse
 317 : *
 318 :   'SI' ('EGA' GR 'VITE');
 319 :     DRES=J; J=0;
 320 :     'REPETER' LABV DRES;
 321 :       J=J+1;
 322 :       T='EXTRAIRE' PER J; RA='EXTRAIRE' RES J;
 323 :       'REMPLACER' RES J (RA * (T / DPI));
 324 :     'FIN' LABV;
 325 :   'FINSI';
 326 : *
 327 : *--- Generation en deplacement
 328 : *
 329 :   'SI' ('EGA' GR 'DEPL');
 330 :     DRES=J; J=0;
 331 :     'REPETER' LABD DRES;
 332 :       J=J+1;
 333 :       T='EXTRAIRE' PER J; RA='EXTRAIRE' RES J;
 334 :       'REMPLACER' RES J (RA * ((T / DPI)**2));
 335 :     'FIN' LABD;
 336 :   'FINSI';
 337 : *
 338 : *--- Abcisses en frequence
 339 : *
 340 :   'SI' ('EGA' ABSC 'FREQ');
 341 :     DRES=J; J=0;
 342 :     FPER= 'PROG';
 343 :     FRES= 'PROG';
 344 :      'REPETER' BLO1 DRES;
 345 :       J=J+1;
 346 :       T='EXTRAIRE' PER (DRES - J + 1); RA='EXTRAIRE' RES (DRES - J + 1);
 347 :       TF=1. / T;
 348 :       FPER='INSE' FPER J TF;
 349 :       FRES='INSE' FRES J RA;
 350 :      'FIN' BLO1;
 351 :     PER = FPER;
 352 :     RES = FRES;
 353 :   'FINSI';
 354 : *
 355 : *--- Generation de l'objet evol contenant le RS
 356 : *
 357 : ETA1 = ETA * 0.05;
 358 : ALF1 = AG / G;
 359 : *
 360 : 'SI' ('EGA' MTYPE 'ALIN');
 361 : 'TITRE' 'EC8 (LADS): Soil ' SOIL 'q =' QFAC 'Eta =' ETA1 'Alfa =' ALF1;
 362 : 'SINON';
 363 : 'TITRE' 'EC8 Response Spectrum: Soil ' SOIL 'Eta =' ETA1 'Alfa =' ALF1;
 364 : 'FINSI';
 365 :   RS ='EVOL' 'MANU' ABSC PER GR RES;
 366 : *
 367 : 'FINSI';
 368 : *
 369 : 'FINPROC' RS;
 370 :  

© Cast3M 2003 - All rights reserved.
Disclaimer