Télécharger drx_flexion_elas.dgibi
* fichier : drx_flexion_elas.dgibi ************************************************************************ ************************************************************************ * * Cas test de la procédure EXPLICIT * * Calcul de la réponse dynamique d'une plaque axisymétrqiue * à une force de type impact sur son centre * * La réponse est comparée à un calcul modale avec DYNE * * options de calcul: * linéaire, * petits déplacements, * axisymétrie, * éléments QUA4,TRI3 et COQ2, * conditions aux limites de déplacements nuls en 1 point. * * * maillage d'une plaque cylindrique * en beton avec ferraillage * * Diametre 20 m Epaisseur 1m * fer tous les metres * * axe de symétrie * \ * \ Force sur r=1m * \ !!!! * ---------------------------- * uz | beton | * |_ ur | + fer |\ * O ---------------------------- \ * blocage suivant z * graph = faux; * * MAILLAGE * ep1 = 2. ; ray1 = 20. ; int1 = 2. ; * parametre du nombre d'element sur la verticale n1 = 6 ; * paramètre du nombre d'élément sur l'horizontale n2 = 1; pi1 = 0. 0 ; ps1 = 0. ep1 ; lv1 = d pi1 n1 ps1 ; nfer = ( enti ray1 ) / ( enti int1 ) ; tabmail = table maillage ; tabmail . 1 = table ; tabmail . 1 . 'LVERT' = lv1 ; i = 1 ; repeter bou1 nfer ; tabmail . i . 'SU' = (tabmail . i . 'LVERT') trans ( ni * n2 ) ( int1 0. ) ; i = i + 1; tabmail . i = table ; si ( i ega 4 ) ; n1 = n1 / 2 ; d4 = int1 / ni / n2 ; pi4 = (2 * int1 + d4) 0. ; ps4 = (2 * int1 + d4) ep1 ; li4 = d pi4 n1 ps4 ; su4a = coutu (tabmail . (i - 1) . 'LVERT') li4 ; su4b = li4 trans ( ni * n2 - 1) ( (d4 * ( ni * n2 - 1)) 0.) ; tabmail . (i - 1) . 'SU' = su4a et su4b ; finsi ; si ( i ega 2 ) ; total1 = (tabmail . (i - 1 ) . 'SU') ; totsup1 = (tabmail . (i - 1 ) . LSUP ) ; totinf1 = (tabmail . (i - 1 ) . LINF ) ; totvert1 = (tabmail . i . LVERT ) ; sinon ; total2 = total1 et (tabmail . (i - 1) . 'SU') ; * detr total1 ; total1 = total2 ; totsup2 = totsup1 et (tabmail . (i - 1) . 'LSUP') ; * detr totsup1 ; totsup1 = totsup2 ; totinf2 = totinf1 et (tabmail . (i - 1) . 'LINF') ; * detr totinf1 ; totinf1 = totinf2 ; totvert2 = totvert1 et (tabmail . i . LVERT ) ; * detr totvert1 ; totvert1 = totvert2 ; finsi ; fin bou1 ; totfer = totvert1 et totsup1 et totinf1 ; *trac totfer titr 'Ferraillage' ecla ; *trac ( total1 et totfer ) titr 'Ferraillage et Beton' ecla ; nelm = (nbelem total1) ; nelc = ( nbelem totfer ) ; nnddl = nnom * 2 + nnoc ; sauter 1 ligne ; mess 'Nbre d element massifs' nelm 'soit' nnom; mess 'Nbre d element coque ' nelc 'soit' nnoc ; sauter 1 ligne ; * determnation des distances minimales L * pour le calcul du pas de temps * * MODELE ET MATERIAU * * * CONDITONS AUX LIMITES * * * CHARGEMENT SPATIAL * *trac vpres total1 ; * * ANALYSE MODALE * mas1 = masse ( mobeto et mofer ) (mabeto et mafer et carfer ) ; temps zero ; i = 1 ; tabi = tbas1 . modes . i ; * titr 'Frequence ' tabi .frequence ; * trac ( defo total1 tabi . deformee_modale ) ; i = i + 1 ; fin bou1 ; * * evolution temporelle force d'impact * * * réponse élastique de la structrue avec dyne * tabchar = table chargement ; tabchar . BASE_A = chaba1 ; tbas1 . 'PSEUDO_MODES' = sol1 ; w1 = 2 * pi * fr1 ; dt = 2 ** .5 * 2 / w1 / 10 ; npas = 'ENTI' ( 21.d-3 / dt) ; nins = 1 ; 'MESS' 'Nombre de pas : ' npas ; tdyn = TABTPS.'TEMPS_CPU'.'INITIAL' ; * * calcul à l'aide de la procédure explicite * * pas de temps minimum celbet = ( 37.d9 / 2.4d3 ) ** 0.5 ; celfer = ( 210.d9 / 7.8d3 ) ** 0.5 ; lmin = int1 / 6. / n1 ; tab_in = TABLE ; tab_in .'CHARGEMENT' = cha1 ; tab_in .'LIAISONS' = cl1 ; tab_in .'MODELE' = mobeto et mofer; tab_in .'CARACTERISTIQUES' = mafer et mabeto et carfer ; tab_in .'PAS_TEMPS' = dtmin ; tab_in .'NPASMAX' = enti ( 20.87d-3 / dtmin ) ; temps zero ; DREXUS tab_in ; texpli = TABTPS.'TEMPS_CPU'.'INITIAL' ; * * FORCE DE REACTION DU CADRE * i = 1 ; fex1 = tab_in . forces_exterieures . i; dep1 = tab_in . deplacements . i; i = i + 1 ; fin bou1 ; tabgraf = table ; tabgraf . 1 = 'MARQ CROI ' ; tabgraf.'TITRE' = table ; si graph; finsi; * * DEPLACEMENT VERTICAL AU DROIT DE LA FORCE * si graph; finsi; * * TEST DE BON FONCTIONNEMENT * lerr1 = err1 >eg 0.15 ; lerr2 = err2 >eg 0.05 ; si (tdyn <eg 0) ; sinon ; finsi ; si (ou lerr2 lerr1) ; erreur 5 ; finsi ; fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales