* fichier : vari-youn-2.dgibi ************************************************************************ * Section : Mathematiques Fonctions * Section : Mecanique Elastique ************************************************************************ ************************************************************** * * C'est un k-test dont le but est de tester le fonctionnement * de PASAPAS avec la variation des données matérielles. * * Il s'agit d'une barre en traction simple. Son module de Young * dépend linéairement du paramètre d'évolution (à la fin du * chargement on descend à 10% de la valeur initiale). * * Pour la résolution, on utilise le mécanisme de traitement * des matériaux variables implanté dans PASAPAS. La variable * utilisée par cette mécanique porte le nom LDPL, ce chargement * n'est donc pas considéré comme un chargement thermique. * ************************************************************** *** Options ... opti dime 2 mode plan defo elem seg2 echo 1 ; graph = faux ; *** Paramètres ... L = 10. ; H = 1. ; S = H * 1. ; E_0 = 2.E+11 ; * E_1 = (2.0 * E_0) / (0.01 * L) ; E_1 = (-0.5 * E_0) / (0.1 * L) ; * F = 1.E+10 ; F = 9.9E+9 ; nbdiv = 1 ; *** Points ... dens (L / nbdiv) ; p1 = 0 0 ; p2 = 0 H ; *** Ligne ... li1 = p1 d 1 p2 ; *** Surface ... opti elem qua4 ; vectx = L 0 ; su1 = li1 tran nbdiv vectx ; pu = su1 poin proc vectx ; titr 'Le maillage du modele' ; si(graph) ; trac su1 ; finsi ; *** Modèle ... listdepl = prog (-0.2 * L) (0.2 * L) ; listyoun = prog ; lon = dime listdepl ; repeter surdpl lon ; valdep = extr listdepl &surdpl ; valyou = E_0 + (E_1 * valdep) ; listyoun = listyoun et (prog valyou) ; fin surdpl ; titr 'Module de Young (deplacement)' ; evyou = evol manu LDPL listdepl YOUN listyoun ; si(graph) ; dess evyou ; finsi ; mo1 = mode su1 mecanique elastique ; ma1 = mate mo1 NU 0.0 YOUN evyou ; *** Préparation de la table pour PASAPAS ... tabnl = table ; * tabnl . GRANDS_DEPLACEMENTS = vrai ; tabnl .'HYPOTHESE_DEFORMATIONS' = 'LINEAIRE'; tabnl . MODELE = mo1 ; tabnl . CARACTERISTIQUES = ma1 ; cl1 = (bloq ux li1) et (bloq uy p1) ; tabnl . BLOCAGES_MECANIQUES = cl1 ; ordmax = 1.8 ; ldpl0 = manu CHML mo1 LDPL 1.0 STRESSES ; evconst = evol manu 't' (prog 0. 1.) 'f(t)' (prog 0. ordmax) ; chavar0 = char LDPL ldpl0 evconst ; fobid = forc fx F (cote 3 su1) ; lr1 = prog 0. 1. ; lr2 = prog 0. 1. ; evbid = evol manu 't' lr1 'f(t)' lr2 ; chabid = char fobid evbid MECA ; tabnl . CHARGEMENT = chavar0 et chabid ; nb_dt = 5 ; dt = 1.0 / nb_dt ; tabnl . TEMPS_CALCULES = prog 0. PAS dt 1. ; *** Le calcul ... pasapas tabnl ; *** Petit post-traitement ... listt = prog ; listux = prog ; listuxt = prog ; listfx = prog ; nbpas = dime (tabnl . TEMPS) ; repeter surpas nbpas ; lindice = &surpas - 1 ; listt = listt et (prog (tabnl . TEMPS . lindice)) ; laforc = F * (tabnl . TEMPS . lindice) ; listfx = listfx et (prog laforc) ; fauxdepl = ipol (tabnl . TEMPS . lindice) (extr evconst ABSC) (extr evconst ORDO) ; mess '-------------------------------------' ; mess 'fauxdepl = ' fauxdepl ; E_act = E_0 + (E_1 * fauxdepl) ; mess 'E_act = ' E_act ; uxbid = (laforc * L) / (E_act * S) ; listuxt = listuxt et (prog uxbid) ; depact = tabnl . DEPLACEMENTS . lindice ; ledepl = extr depact UX pu ; listux = listux et (prog ledepl) ; fin surpas ; titr 'La deformee' ; defo0 = defo su1 depact 0.0 ; defo1 = defo su1 depact ROUG ; si(graph) ; trac (defo0 et defo1) ; finsi ; titr 'Courbe de traction provenant de PASAPAS' ; courbetr = evol manu 'FX' listfx 'UX' listux ; si(graph) ; dess courbetr ; finsi ; titr 'Courbes de traction PASAPAS + théorique' ; courbteo = evol ROUG manu 'FX' listfx 'UX' listuxt ; si(graph) ; dess (courbetr et courbteo) ; finsi ; *** Vérification de la précision du calcul ... chtit = chai 'Difference entre le depl. fourni par PASAPAS' ' et le depl. analytique' ; titr chtit ; ladiff = courbetr - courbteo ; ladiff = evol manu (extr ladiff ABSC) (abs (extr ladiff ORDO)) ; si(graph) ; dess ladiff ; finsi ; precis = maxi (extr ladiff ORDO) ; mess 'Écart maxi = ' precis ; si(precis > 1.e-14) ; erre 5 ; finsi ; *** Bye ... fin ;