* fichier : vari-youn-3.dgibi
**************************************************************
*
* 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 T, ce chargement
* est donc considéré comme un chargement thermique. Par contre
* on ne fait aucun calcul thermique.
*
**************************************************************
*** Options ...
opti dime 2 mode plan defo elem seg2 echo 1 ;
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
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 T listdepl YOUN listyoun ;
si(graph) ;
dess evyou ;
finsi ;
mo1 = mode su1 mecanique elastique ;
ma1 = mate mo1 NU 0.0 YOUN evyou ALPH 0. ;
*** Préparation de la table pour PASAPAS ...
tabnl = table ;
* tabnl . GRANDS_DEPLACEMENTS = vrai ;
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 T 1.0 STRESSES ;
evconst = evol manu 't' (prog 0. 1.)
'f(t)' (prog 0. ordmax) ;
* chavar0 = char T ldpl0 evconst ;
tbabsc = table ;
tbabsc . 0 = 0. ;
tbabsc . 1 = 1.000000001 ;
tbordo = table ;
tbordo . 0 = manu chpo su1 1 T 0. ;
tbordo . 1 = manu chpo su1 1 T ordmax ;
chavar0 = char T tbabsc tbordo ;
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-7) ;
erre 5 ;
finsi ;
*** Bye ...
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer