Download iss2D_z.dgibi

Back to the list

* fichier : iss2D_z.dgibi
GRAPH='Y';                                                                      
SAUT PAGE ;                                                                
************************************************************************
*           REPONSE SISMIQUE DU SOL EN ABSENCE DE STRUTURE  
************************************************************************
*
* DESCRIPTION DU PROBLEME
* ------------------------
* IL S'AGIT D'UN PROBLEME D'INTERACTION SOL-STRUCTURE. 
* EN ABSENCE DE STRUCTURE, IL N'Y PAS D'INTERACTION. ON DOIT RETROUVER
* L'ACCELEROGRAMME IMPOSE A LA SURFACE DU SOL VIA LE PROCESSUS DE 
* DECONVOLUTION (PROCEDURES DECONV OU DECONV3D) ET CONVOLUTION 
* (PROCEDURE DYNAMIC OU PASAPAS).
* LE CYLINDRE DANS CE JEU DE DONNEES REPRESENTE LE SOL PROCHE TANDIS 
* QUE LE SOL LOINTAIN QUI S'ETEND VERS L'INFINI EST REPRESENTE PAR UNE 
* FRONTIERE ABSORBANTE COMPOSEE D'AMORTISSEURS VISQUEUX.
************************************************************************
OPTION TRAC PSC ;
OPTION ECHO 0 ;
*-----------------------------------------------------------------------
*              PROCEDURE DE CALCUL DE LA DERIVEE PREMIERE
*-----------------------------------------------------------------------
'DEBPROC' DERIV1 EV1 ;
     X     = 'EXTR' EV1 'ABSC'  ;
     Y     = 'EXTR' EV1 'ORDO'  ;
     NPOIN = 'DIME' X ;
     H     = ( 'EXTR' X 2 ) - ( 'EXTR' X 1 ) ;

     X1    = ( 'PROG' 0.0 0.0 ) 'ET' Y ;
     X3    = Y 'ET' ( 'PROG' 0.0 0.0 ) ;
     DX    = ( X3 - X1 ) / ( H * 2.0 ) ;
     Y1    = 'ENLE' ( 'ENLE' DX ( NPOIN + 2 ) ) 1 ;
     L1    = ( 'PROG' 0.0 ) 'ET' ( 'PROG' ( NPOIN - 2 ) * 1.0 )
                            'ET' ( 'PROG' 0.0 ) ;
     Y2    = Y1 * L1 ;
     EV2   = 'EVOL' 'MANU'  X Y2  ;
'FINPROC' EV2 ;
*-----------------------------------------------------------------------
*                          SOL SANS STRUCTURE 
*-----------------------------------------------------------------------
OPTI DIME 2 MODE FOUR 0 ELEM QUA8 COUL BLEU ;

R  = 2. / (PI**0.5) ;
NE = 2 ;
NR = 3 ;

P0 =   0.     0.  ;
P4 = (NR*R)   0.  ;

SUR = COUL VERT (DROIT (NE*NR) P0 P4)  ;
SOL = TRAN (NE*NR) SUR (0 (-1*NR*R)) ;
BOR = COTE 2 SOL ;
FON = COTE 3 SOL ;
AXE = COTE 4 SOL ;

ELIM SOL 0.001 ;
TITR 'MAILLAGE SOL (AXISYMETRIQUE)' ;
SI (NEG GRAPH 'N');
TRAC SOL QUAL NCLK;
FINSI;
*-----------------------------------------------------------------------
*                             MODELE DE SOL
*-----------------------------------------------------------------------
NU1  = 0.3 ;
G1   = 100.E7 ;
E1   = 2*(1 + NU1)*G1 ; 

MOD_S  = MODE SOL MECANIQUE ELASTIQUE ISOTROPE QUA8 ;
MAT_S  = MATE MOD_S YOUN E1 NU NU1 RHO 2000 ;
MAS_S  = MASS MOD_S MAT_S ;
RIG_S  = RIGI MOD_S MAT_S ;
*-----------------------------------------------------------------------
*                    AMORTISSEMENT DE TYPE RAYLEIGH
*-----------------------------------------------------------------------
F1      = 5.0 ;
F2      = 25.0 ;
KSI_S   = 0.05 ;
ALPHA   = 4.0 * PI * F1 * F2 / (F1 + F2) ;
BETA    = 1.0 / (PI * (F1 + F2)) ;
AMO_S   = KSI_S  * ((ALPHA * MAS_S) ET (BETA * RIG_S)) ;
*-----------------------------------------------------------------------
*              SIGNAL SISMIQUE (SELON SPECTRE PS92 SITE S1)
*-----------------------------------------------------------------------
LFR  = PROG 0.1 0.5 1.0 2.5 5.  33. 50. ; 
LSP  = PROG 0.1 0.5 1.0 2.5 2.5 1.0 1.0 ; 
SP0  = EVOL MANU 'FREQ(HZ)' LFR 'ACCE(M/S*S)' LSP ;

TAB = TABLE ;
TAB.'MOTIT' = 'SPECTRE PS92 S1 ' ;
TAB.'SEISME'= TABLE ;
TAB.'SEISME'.'SPECTRE'  =  SP0 ;
TAB.'SEISME'.'AMORT'    =  0.05 ;
TAB.'SEISME'.'TYPSP'    = 'ACCE' ;
TAB.'SIGNAL' = TABLE ;
TAB.'SIGNAL'.'ENVE'     = 'PLATLIN' ;
TAB.'SIGNAL'.'NP'       =  8 ;
TAB.'SIGNAL'.'DUREE'    =  2.56 ;
TAB.'SIGNAL'.'TDEBUT'   =  0.75 ;
TAB.'SIGNAL'.'TFIN'     =  1.5 ;
TAB.'NBITER'            =  5 ;
TAB.'NBSIGN'            =  1 ;
TAB.'NALEAT'            =  3 ;
TAB.'FRCOUP'            =  49.9 ;
TAB.'OPTSORT'           = 'SPECTRE' ;

TABSIG = SIGNSYNT FABR TAB ;

*   MOYENNE ZERO, PLAGE INITIALE ZERO

LT0 = EXTR TABSIG.1 ABSC ;
LA0 = EXTR TABSIG.1 ORDO ;
DT  = (EXTR LT0 2) - (EXTR LT0 1) ;
NP0 = DIME LT0 ;

LT1 = PROG 0. PAS DT 2.3 ;
LA1 = IPOL LT1 LT0 LA0 ;
NP1 = DIME LT1 ; 
LA1 = LA1 - (PROG NP1 * ((RESU LA1) / NP1)) ;

LA1 = (PROG 20 * 0.) ET LA1 ;
LT1 = PROG 0. PAS DT NPAS (19 + NP1) ;

ACC1 = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA1 ;
SI (NEG GRAPH 'N');
DESS ACC1 MIMA NCLK;
FINSI ;
*-----------------------------------------------------------------------
*                 DECONVOLUTION ET FRONTIERE ABSORBANTE
*-----------------------------------------------------------------------
TAB = TABLE ;
TAB.1 = TABLE ;
TAB.1 .'FRONTIERE'        = BOR   ;
TAB.1 .'MASSE_VOLUMIQUE'  = 2000. ;
TAB.1 .'POISSON'          = 0.3   ;
TAB.1 .'YOUNG'            = E1    ;
TAB.1 .'AMORTISSEMENT'    = 0.05  ;

TYP_F = 'LYSMER' ;
FC    =  50.0 ;
DIR   = 'VERT' ;

TABS = DECONV TAB FON MOD_S DIR ACC1 F1 F2 FC TYP_F ;
*-----------------------------------------------------------------------
*                 TABLE POUR LA PROCEDURE 'DYNAMIC'
*-----------------------------------------------------------------------
CH_DEPI = MANU CHPO 3 SOL UR 0.0 UT 0.0 UZ 0.0 ;
CH_VITI = MANU CHPO 3 SOL UR 0.0 UT 0.0 UZ 0.0 ;

TAB_DYN = TABLE ;
TAB_DYN.'DEPL' = CH_DEPI ;
TAB_DYN.'VITE' = CH_VITI ;
TAB_DYN.'RIGI' = RIG_S ;
TAB_DYN.'MASS' = MAS_S ;
TAB_DYN.'AMOR' = AMO_S ET TABS.'AMOR' ;
TAB_DYN.'CHAR' = TABS.'CHAR' ;
TAB_DYN.'FREQ' = TABS.'FCDYN' ; 
DT             = TABS.'PAS' ;
NB_PAS         = ENTI (2.51 / DT) ;
TAB_DYN.'DEBU' = 0.0 ;
TAB_DYN.'INST' = PROG 0.0 PAS DT NPAS (NB_PAS - 1) ;

RESU = DYNAMIC TAB_DYN ;
*-----------------------------------------------------------------------
*                          POST-TRAITEMENT
*-----------------------------------------------------------------------
POI = TABLE ;
POI.1 = P0 ;
POI.2 = P4 ;

NP = DIME POI ;

L_TEM = PROG NB_PAS * 0.0 ;
L_D = TABLE ;
L_V = TABLE ;

I = 1 ;
REPE B1 NP ;
L_V.I  = PROG NB_PAS * 0.0 ;

I = I + 1 ;
FIN B1 ;

I_TEM = 0 ;
REPETER B2 NB_PAS ;
  I_TEM = I_TEM + 1           ;
  TEM_I = RESU.I_TEM.'TEMP'   ;
  REMP L_TEM I_TEM TEM_I      ;
  CHV_I = RESU.I_TEM.'VITE'   ;
 
  I = 1 ;
    REPE B2_1 NP ;
    REMP L_V.I I_TEM (EXTR CHV_I POI.I UZ) ;
  I = I + 1 ;
  FIN B2_1 ;

FIN B2 ;

*   REPONSE EN ACCELERATION 

LT1 = EXTR ACC1 ABSC ;
EV_VIT = TABLE ;
EV_ACC = TABLE ;

I = 1 ;
REPE B3 NP ;
EV_VIT.I = EVOL MANU L_TEM L_V.I ;
EV_ACC.I = DERIV1 EV_VIT.I ;
LT2 = EXTR EV_ACC.I ABSC ;
LA2 = EXTR EV_ACC.I ORDO ;
LA2 = IPOL LT1 LT2 LA2 ;
EV_ACC.I = EVOL MANU 'TEMPS(S)' LT1 'ACCE(M/S*S)' LA2 ;
I = I + 1 ;
FIN B3 ;

*   COMPARAISON AVEC L'ACCELEROGRAMME IMPOSE

SI (NEG GRAPH 'N');
DESS ((COUL ROUG EV_ACC.1) ET (COUL VERT EV_ACC.2) ET ACC1) NCLK
TITR 'ACCELEROGRAMMES IMPOSE (BLEU) ET CALCULES (ROUGE ET VERT)' MIMA ;
FINSI ;

ERR1 = MAXI ABS (EXTR (EV_ACC.1 - ACC1) ORDO) ;
ERR2 = MAXI ABS (EXTR (EV_ACC.2 - ACC1) ORDO) ;

SI ((MAXI (PROG ERR1 ERR2)) > 0.01);
ERRE 5;
FINSI;

FIN ;



 

© Cast3M 2003 - All rights reserved.
Disclaimer