* fichier : issleq1.dgibi ******************************************************* ************************************************************************ ************************************************************************ * Cas test de la procedure ISSLEQ * La procedure permet d'effectuer des calculs de propagations d'ondes * et ISS avec la methode le calcul lineaire equivalent ******************************************************* * Developpe par : * Alberto FRAU (alberto.frau[at]cea.fr) * ******************************************************* * Institution : * CEA/DEN/DANS/DM2S/SEMT/EMSI ******************************************************* * Commentaires * * On teste la procedure pour une propagation 1D d'une onde sismique * de cisaillement sur une colonne de sol homogene de 40 metres * de profondeur. * Les caracteristiques du sol sont les suivantes: * * Vs= 200 m/s * rho = 2000. kg/m3 * nu = 1./3 * * Le chargement sismique est reppresenté par une onde de Ricker * * Deux types de calculs sont possibles: * TYP_CAL = 1 - ktest general * TYP_CAL = 2 - calcul complet avec 5 iterations et * deduction de la reponse en surface et à la * base de la colonne de sol * ******************************************************* * * Type de calcul TYP_CAL = 1; *TYP_CAL = 2; * * activation des plots TYP_GRA = 'N'; *TYP_GRA = 'O'; * * activation sauvegarde TYP_SAU = 'N'; *TYP_SAU = 'O'; * OPTI POLI TIMES_24; * *********************************************************************** * Ricker wavelet *********************************************************************** * TP1 = 0.2; A1 = ((PI)*(L_T1 - TS1))/(TP1); A1 = ((A1)**(2.0)); * FT1 = FT1 = ((FT1)*('EXP'((-1.0)*(A1)))); * * 'SI' ('EGA' TYP_GRA 'O'); 'FINSI'; * 'OUBL' FT1; 'OUBL' A1; 'OUBL' TP1; 'OUBL' TS1; 'OUBL' L_T1; 'OUBL' SP1; * *********************************************************************** * Courbes Caracteristiques du sol *********************************************************************** * L_GAM = 'PROG' 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1; L_GG0 = 'PROG' 0.99674 0.98907 0.98489 0.981 0.97732 0.97381 0.97043 0.96716 0.96399 0.96091 0.93342 0.90987 0.88885 0.8697 0.85203 0.83559 0.82018 0.80568 0.79197 0.68469 0.60992 0.55328 0.5083 0.47141 0.44045 0.41399 0.39105 0.37093 0.25168 0.19496 0.16095 0.13801 0.12136 0.10867 0.09863 0.09046 0.08368; L_EPS = 'PROG' 0.54992 0.59969 0.64931 0.69877 0.74808 0.79724 0.84624 0.8951 0.94381 0.99237 1.46993 1.93335 2.38324 2.82019 3.24474 3.65742 4.05872 4.4491 4.829 8.13359 10.73891 12.84568 14.58451 16.04404 17.28657 18.35714 19.28914 20.10784 24.89024 27.04867 28.277778 29.07143 29.62621 30.03586 30.35075 30.60033 30.80303; * L_EPS = L_EPS/100; L_GAM = L_GAM/100; * 'SI' ('EGA' TYP_GRA 'O'); 'FINSI'; * 'OUBL' L_GAM; 'OUBL' L_GG0; 'OUBL' L_EPS; * *********************************************************************** * Donnes geometrique et materiau *********************************************************************** * * FMAX1 = 20.; VS_SOL1 = 200.0; NU_SOL1 = ((1.0)/(3.0)); RHO_SOL1 = 2000.; HPROF1 = 40.; * G_SOL1 = (((VS_SOL1)*(VS_SOL1))*(RHO_SOL1)); E_SOL1 = ((G_SOL1)*((2.0)*(1.0 + NU_SOL1))); * FREQ1 = 4.; FREQ2 = 12.; BET_SOL1 = 0.005; * DS1 = ((VS_SOL1)/((10)*(FMAX1))); * *********************************************************************** * Maillage de la colonne *********************************************************************** * P0 = 0. 0. 0.; * * * NN1 = 'ENTI' ((HPROF1)/(DS1)); * F_LAT1 = (L1 'ET' L2 'ET' L3 'ET' L4) 'TRANS' NN1 (0. 0. ((-1.0)*(HPROF1))); * * * 'SI' ('EGA' TYP_GRA 'O'); 'TITR' 'Maillage Complet'; 'FINSI'; * ********************************************************************** * Mise en donnes pour ISSLEQ ********************************************************************** * * TAB_DON = 'TABLE'; TAB_DON.'SOL' = 'TABLE'; TAB_DON.'PARAMETRES' = 'TABLE'; * TAB2 = 'TABLE'; TAB1 = 'TABLE'; TAB3 = 'TABLE'; * * Defition table des parametres TAB2.'GAMMAO_X' = EV_ACC; TAB2.'DELTA_T' = 1.5; TAB2.'POINT' = 0. 0. 0.; TAB2.'CRITERE' = 0.01; TAB2.'CHI' = 0.60; TAB2.'F1' = FREQ1; TAB2.'F2' = FREQ2; TAB2.'FC' = 50.; *TAB2.'TYPE' = 'CHAINE' 'LYSMER'; TAB2.'PAR_DEC' = 'TABLE'; TAB2.'PAR_DEC'.'ENTREE' = 'TABLE'; TAB2.'PAR_DEC'.'ENTREE'.'NATURE' = 'CHAINE' 'OUTCROP'; TAB2.'PAR_DEC'.'ENTREE'.'CONTROLE' = *TAB2.'REPONSE' = 'TABLE'; *TAB2.'REPONSE'. 1 = 'TABLE'; *TAB2.'REPONSE'. 1 .'NOM' = 'CHAINE' 'PO'; *TAB2.'REPONSE'. 1 .'NOEUD' = (SOL1 'POIN' 'PROC' (1000. 1000. 1000.)); *TAB2.'REPONSE'. 1 .'COMP' = 'CHAINE' 'UX'; TAB2.'TYPE_CALCUL' = 'CHAINE' 'ISS_COMPLET'; * * Defition table pour definition de sol TAB1.'ITERATION' = 'TABLE'; TAB1.'ITERATION'. 1 = 'TABLE'; TAB1.'ITERATION'. 1 .'MAILLAGE' = (SOL1); TAB1.'ITERATION'. 1 .'FRONTIERE' = F_LAT1; TAB1.'ITERATION'. 1 .'MODULE_E' = E_SOL1; TAB1.'ITERATION'. 1 .'MASSE_VOLUMIQUE' = RHO_SOL1; TAB1.'ITERATION'. 1 .'POISSON' = NU_SOL1; TAB1.'ITERATION'. 1 .'G_GAMMA' = GG0_SAN; TAB1.'ITERATION'. 1 .'H_GAMMA' = EPS_SAN; * * TAB_DON.'SOL' = TAB1; TAB_DON.'PARAMETRES' = TAB2; * ********************************************************************** * ISSLEQ Step 0 - Initialissation du calcul ********************************************************************** * ISSLEQ TAB_DON; * ********************************************************************** * ISSLEQ Step 1 - Premiere Iteration ********************************************************************** * ISSLEQ TAB_DON; * * Verification ktest 'SI' (TYP_CAL 'EGA' 1); * * extraction evolution G/G0 du premier step de calcul I = 1; NN1 = 1; 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN2); * GG011 = 'REDU' (TAB_DON.'STEP1'.'SOL'.'ITERATION'.'T_GGO'. I) ELE1; * J = J + 1; 'FIN' IND2; I = I + 1; 'FIN' IND1; * * Evolution test L_GG0T = PROG 9.7056258e-01 9.3164450e-01 9.0171725e-01 8.7822139e-01 8.5968572e-01 8.4554321e-01 8.3550739e-01 8.2882100e-01 8.2560569e-01 8.2539845e-01 8.2787502e-01 8.3279914e-01 8.3965862e-01 8.4827632e-01 8.5814816e-01; 8.6921149e-01 8.7834042e-01 8.8414431e-01 8.8749665e-01 8.8897932e-01 8.9033669e-01 8.9038074e-01 8.9077920e-01 8.9071137e-01 8.9065981e-01 8.9060009e-01 8.9054191e-01 8.9047658e-01 8.9042509e-01 8.9035398e-01); 8.9030886e-01 8.9023197e-01 8.9019316e-01 8.9011037e-01 8.9007777e-01 8.8998920e-01 8.8996255e-01 8.8986808e-01 8.8984764e-01 8.8974720e-01 ); * * Calcul de l'ecart * * Controle 'SI' (LL_TEST > 6.E+4); ** ERRE 5; 'FINSI'; 'FIN'; 'FINSI'; * * Continuation du calcul complet * ********************************************************************** * ISSLEQ Step 2 - Deuxieme Iteration ********************************************************************** * ISSLEQ TAB_DON; * ********************************************************************** * ISSLEQ Step 3 - Troisieme Iteration ********************************************************************** * ISSLEQ TAB_DON; * ********************************************************************** * ISSLEQ Step 4 - Quatrieme Iteration ********************************************************************** * ISSLEQ TAB_DON; * ********************************************************************** * ISSLEQ Step 5 - Dernier Iteration ********************************************************************** * ISSLEQ TAB_DON; * ********************************************************************** * Deduction des evolution Dist_max-z G/G0-z et Eps-z ********************************************************************** * * listes step 0 * * listes step 1 * * listes step 2 * * listes step 3 * * listes step 4 * * listes step 5 * I = 1; NN1 = 1; 'REPE' IND1 (NN1); J = 1; 'REPE' IND2 (NN2); * (ELE1))*(0.0); (ELE1)); (ELE1)); (ELE1)); (ELE1)); (ELE1)); * * * J = J + 1; 'FIN' IND2; I = I + 1; 'FIN' IND1; * * Evolutions Dmax-z * * Evolutions G/G0-z * * Evolutions Eps-z * 'SI' ('EGA' TYP_GRA 'O'); * * * * * 'FINSI'; * * Sauvegarde dans une table T_ITER = 'TABLE'; T_ITER. 0 = 'TABLE'; T_ITER. 1 = 'TABLE'; T_ITER. 2 = 'TABLE'; T_ITER. 3 = 'TABLE'; T_ITER. 4 = 'TABLE'; T_ITER. 5 = 'TABLE'; * T_ITER. 0 .'DMAX' = EV_DMAX0; T_ITER. 0 .'GG0' = EV_GG00; T_ITER. 0 .'EPS' = EV_EPS0; T_ITER. 1 .'DMAX' = EV_DMAX1; T_ITER. 1 .'GG0' = EV_GG01; T_ITER. 1 .'EPS' = EV_EPS1; T_ITER. 2 .'DMAX' = EV_DMAX2; T_ITER. 2 .'GG0' = EV_GG02; T_ITER. 2 .'EPS' = EV_EPS2; T_ITER. 3 .'DMAX' = EV_DMAX3; T_ITER. 3 .'GG0' = EV_GG03; T_ITER. 3 .'EPS' = EV_EPS3; T_ITER. 4 .'DMAX' = EV_DMAX4; T_ITER. 4 .'GG0' = EV_GG04; T_ITER. 4 .'EPS' = EV_EPS4; T_ITER. 5 .'DMAX' = EV_DMAX5; T_ITER. 5 .'GG0' = EV_GG05; T_ITER. 5 .'EPS' = EV_EPS5; * ********************************************************************** * Extraction des données necessaire au calcul dynamique ********************************************************************** * * Maillage sol MITOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_SOL'; * * Modele Sol MDTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_MOD'; * * MAteriau Sol MTTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_MAT'; * * Matrices K, M et C sol RGTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_RIG'; MSTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_MAS'; AMTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_AMO'; * KSTOT1 = TAB_DON.'STEP5'.'SOL'.'ITERATION'.'O_KSI'; * ********************************************************************** * Deconvolution ********************************************************************** * * Contruction de la table des couches pour la deconvolution * Extration des points à la frontiere 'OUBL' CH1; 'OUBL' CH2; 'OUBL' CH3; 'OUBL' PPA1; 'OUBL' PPA2; * * Pour chaque element de la frontiere on detecte: * - maillage fontirere * - module E * - coef nu * - masse volumique * - amortissement I = 1; * TAB_COU = 'TABLE'; 'REPE' IND1 (NN1 - 1); * XX1 = -10.; XX2 = 10.; YY1 = -10.; YY2 = 10.; ZZ1 = VZS + 0.01; ZZ2 = VZI - 0.01; 'STRICTEMENT' MAI2; * 'STRICTEMENT' MAI2; 'OUBL' CH1; 'OUBL' CH2; 'OUBL' CH3; 'OUBL' XX1; 'OUBL' XX2; 'OUBL' YY1; 'OUBL' YY2; 'OUBL' ZZ1; 'OUBL' ZZ2; 'OUBL' VZS; 'OUBL' VZI; * TAB_COU. I = 'TABLE'; TAB_COU. I .'FRONTIERE' = MAI3; 'RHO' 1 1 1; 'NU' 1 1 1; 'YOUN' 1 1 1; 'KS' 1 1 1; * I = I + 1; 'FIN' IND1; * P_GAM = 'TABLE'; P_GAM.'ENTREE' = 'TABLE'; P_GAM.'ENTREE'.'NATURE' = 'CHAINE' 'OUTCROP'; * * EV_ACC FREQ1 FREQ2 50. P_GAM; * ********************************************************************** * Resolution Dynamique ********************************************************************** * * Champ de deplacement et de vitesse initiaux * * Liste de temps a sauver * * Table Dynamic TAB_DYN = 'TABLE'; TAB_DYN.'VITE' = CH_INI; TAB_DYN.'FREQ' = TAB_DEC.'FCDYN'; TAB_DYN.'INST' = LT2; TAB_DYN.'DEBU' = 0.0; 'OUBL' LL_T; * * Resulition Table Dynamic * *********************************************************************** * Post TRAITEMENT *********************************************************************** * * Poiunt au surfa et en profondeur * * Definition des listes * * Sortie des deplacement et des vitesses I = 1; * 'REPE' IND1 (NN1); CH_VIT = TAB_RES1. I .'VITE'; * * I = I + 1; 'FIN' IND1; * * Evolutions des deplacements * * Evolutions des vitesses * * Evolutions des accelerations EV1 = EV_VIT1; DX = ( X3 - X1 ) / ( H * 2.0 ) ; Y2 = Y1 * L1 ; EV_ACC1 = EV2; * EV1 = EV_VIT2; DX = ( X3 - X1 ) / ( H * 2.0 ) ; Y2 = Y1 * L1 ; EV_ACC2 = EV2; * 'Ax [m/s2]' LL1; 'Ax [m/s2]' LL2; * * Spectrs de reponse * * Fonctions de Transferts * * Sauvegarde dans une table T_LE = 'TABLE'; T_LE. 1 = 'TABLE'; T_LE. 2 = 'TABLE'; * T_LE. 1 .'AX' = EV_ACC1; T_LE. 1 .'SX' = SP_ACC1; T_LE. 1 .'TX' = FT_ACC1; * T_LE. 2 .'AX' = EV_ACC2; T_LE. 2 .'SX' = SP_ACC2; T_LE. 2 .'TX' = FT_ACC2; * * Saugarde 'SI' ('EGA' TYP_SAU 'O'); 'SAUV'; 'FINSI'; * 'FIN';
© Cast3M 2003 - Tous droits réservés.
Mentions légales