* fichier : liai_ar1.dgibi
*
* Test liai_ar1.dgibi: Jeux de donnees
* ------------------------------------
**********************************************************
* TEST DE VALIDATION *
* ------------------ *
* MODELE PLASTIQUE BILIN_EFFX *
* SIMULATION DE LA LIAISON CRAYON/GRILLE *
* *
* MAILLAGE: *
* CRAYON = POUTRES ELASTIQUES *
* 1 CELLULE DE GRILLE = PLAQUE EQUIVALENTE *
* ELASTIQUE EN COQ4 *
* 1 LIAISON CRAYON/CELLULE = 1 POUTRE AVEC MODELE *
* PLASTIQUE BILIN_EFFX *
* *
* CHARGEMENT: *
* FORCE DE TRACTION AXIALE SUR L'EXTREMITE *
* SUPERIEURE DU CRAYON: CHARGE PUIS DECHARGE *
* *
* CONDITIONS AUX LIMITES: *
* CELLULE DE GRILLE ENCASTREE SUR SES 4 COTES *
* *
* COMPARAISON / SOLUTION ANALYTIQUE: *
* RAIDEUR AU CENTRE EN FLEXION DE LA *
* PLAQUE EQUIVALENTE PAR CALCUL ANNEXE *
**********************************************************
* ::::::::::::::::::::::::::::::::::::::::::::::::
* DEFINITION DES PROCEDURES POUR POST TRAITEMENT :
* ::::::::::::::::::::::::::::::::::::::::::::::::
'DEBP' FEPS mo*'MMODEL' mat*'MCHAML' n*'ENTIER'
dep*'TABLE' sig*'TABLE'
mot1*'MOT' mot2*'MOT' P*'POINT' ;
************************************************************************
prx = prog ;
pry = prog ;
repe stru n ;
*-
i = &stru-1 ;
eps = 'EPSI' mo mat dep.i ;
eps = 'CHAN' 'CHPO' mo eps ;
x = 'EXTR' eps mot1 P ;
prx = prx 'ET' (prog x) ;
sg = sig.i ;
sg = 'CHAN' 'CHPO' mo sg ;
y = 'EXTR' sg mot2 P ;
pry = pry 'ET' (prog y) ;
ev = 'EVOL' 'MANU' mot1 prx mot2 pry ;
*-
fin stru ;
************************************************************************
'FINP' ev ;
************************************************************************
************************************************************************
'DEBP' FTEMPS mo*'MMODEL' mat*'MCHAML' n*'ENTIER'
tab1*'TABLE' tab2*'TABLE'
mot1*'MOT' P*'POINT' ;
************************************************************************
prx = prog ;
pry = prog ;
repe stru n ;
*-
i = &stru-1 ;
x = tab1.i ;
prx = prx 'ET' (prog x) ;
y = 'EXTR' tab2.i mot1 P ;
pry = pry 'ET' (prog y) ;
ev = 'EVOL' 'MANU' 'temps' prx mot1 pry ;
*-
fin stru ;
************************************************************************
'FINP' ev ;
************************************************************************
************************************************************************
'DEBP' SOLEFFX
F*'FLOTTANT' Fseuil*'FLOTTANT' k*'FLOTTANT'
l1*'FLOTTANT' A1*'FLOTTANT' E1*'FLOTTANT' E1T*'FLOTTANT'
l2*'FLOTTANT' A2*'FLOTTANT' E2*'FLOTTANT' Fa/'FLOTTANT';
************************************************************************
k1 = E1 * A1 ;
k1T = E1T * A1 ;
k2 = E2 * A2 ;
pr1 = prog 0 l1 ; pr1un = prog (dime pr1)*1 ;
pr2 = prog l1 (l1+l2) ; pr2un = prog (dime pr2)*1 ;
'SI' ('NON' ('EXIS' Fa)) ;
*- Charge
'SI' (F '<EG' Fseuil) ;
*- Solution élastique pour la liaison
epsg = F/k1 ;
u2b = (F*l1)/k1 ;
'SINON' ;
*- Solution plastique pour la liaison
eps1 = Fseuil*(1-(E1T/E1)) ;
epsg = (F - eps1) / k1T ;
u2b = epsg*l1 ;
'FINSI' ;
'SINON' ;
*- Décharge
eps1 = (Fa-Fseuil)*(1-(E1/E1T)) ;
epsg = (F - eps1) / k1 ;
u2b = epsg*l1 ;
'FINSI' ;
u1 = epsg*pr1 + (F *(pr1un/k)) ;
ev1 = 'EVOL' 'MANU' 'ABSC' pr1 'DEPL' u1 ;
u2a = (F/k2) * (pr2 - (l1*pr2un)) ;
u2 = u2a + ((u2b +(F/k))*pr2un) ;
ev2 = 'EVOL' 'MANU' 'ABSC' pr2 'DEPL' u2 ;
ev = 'CONCAT' ev1 ev2 ;
************************************************************************
'FINP' ev ;
************************************************************************
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
* :::::::::::::
* DEBUT DU PB :
* :::::::::::::
'OPTI' 'DIME' 3 ;
*'OPTI' 'TRAC' 'PSC' ;
'TEMPS' 'ZERO' ;
DESSI = faux ;
lcel = 12.595E-3 ;
long = 0.15 ;
l1 = long / 10 ;
************
*- CRAYON -*
************
'OPTI' 'ELEM' 'SEG2' ;
p1 = 0 0 0 ;
p3 = 0 0 l1 ;
p2 = 0 0 long ;
q3 = 0 0 (-1*l1) ;
q2 = 0 0 (-1*long) ;
nelt = 10 ;
n1 = 1 ;
n2 = nelt-n1 ;
geo1 = p1 p3 'DROI' n1 ;
geo2 = p3 p2 'DROI' n2 ;
geo3 = p1 q3 'DROI' n1 ;
geo4 = q3 q2 'DROI' n2 ;
geo = geo1 'ET' geo2 'ET' geo3 'ET' geo4 ;
************
*- GRILLE -*
************
'OPTI' 'ELEM' 'QUA4' ;
r1 = (-1*lcel) (-1*lcel) 0 ;
r2 = lcel (-1*lcel) 0 ;
r3 = lcel lcel 0 ;
r4 = (-1*lcel) lcel 0 ;
n3 = 4 ;
lplac1 = r1 r2 'DROIT' n3 ;
lplac2 = r2 r3 'DROIT' n3 ;
lplac3 = r3 r4 'DROIT' n3 ;
lplac4 = r4 r1 'DROIT' n3 ;
plac = lplac1 lplac2 lplac3 lplac4 'DALLER' 'PLAN' ;
r0 = plac 'POIN' 'PROC' p1 ;
*************
*- LIAISON -*
*************
'OPTI' 'ELEM' 'SEG2' ;
lien = 'COUL' (r0 p3 'DROIT' 1) 'ROUG' ;
****************
*- ASSEMBLAGE -*
****************
mailtot = geo 'ET' plac 'ET' lien ;
*************
*- MODELES -*
*************
moc = 'MODE' geo 'MECANIQUE' 'ELASTIQUE' 'POUTRE';
mop = 'MODE' plac 'MECANIQUE' 'ELASTIQUE' 'COQ4' ;
mol = 'MODE' lien 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE'
'BILIN_EFFX' 'POUTRE';
mo = moc 'ET' mop 'ET' mol ;
youn_M5 = 0.984E11 ;
nu_M5 = 0.368 ;
yp = youn_M5 / 10000.;
fseuilx = 6. ;
mac = 'MATE' moc 'YOUN' youn_M5 'NU' nu_M5 ;
map = 'MATE' mop 'YOUN' youn_M5 'NU' nu_M5 ;
mal = 'MATE' mol 'YOUN' youn_M5 'NU' nu_M5 'ETAN' yp 'YIEF' fseuilx ;
ma = mac 'ET' map 'ET' mal ;
*ep_plaq = 0.425E-3 ;
ep_plaq = 2.879E-3 ;
ep_cray = 0.57E-3 ;
Dext = 9.5E-3 ;
Dint = 8.36E-3 ;
air = (pi/4) * ((Dext**2)-(Dint**2)) ;
iy = (pi/64) * ((Dext**4)-(Dint**4)) ;
iz = iy ;
ix = 2*iy ;
sr1 = (Dint/Dext)/(1+((Dint/Dext)**2));
sr2 = 6./(7.+(20.*(sr1**2))) ;
sry = sr2*air ;
srz = sry ;
cac = 'CARA' moc 'TORS' ix 'INRY' iy 'INRZ' iz 'SECT' air
'SECY' sry 'SECZ' srz ;
cap = 'CARA' mop 'EPAI' ep_plaq ;
cal = 'CARA' mol 'TORS' ix 'INRY' iy 'INRZ' iz 'SECT' air
'SECY' sry 'SECZ' srz ;
ca = cac 'ET' cap 'ET' cal ;
mat = ma 'ET' ca ;
cl = bloq 'DEPL' 'ROTA' (lplac1 et lplac2 et lplac3 et lplac4) ;
valfo = 1. ;
fo = 'FORCE' 'FZ' valfo p2 ;
evfo = 'EVOL' 'MANU' ('PROG' 0 12 24) ('PROG' 0 12 0) ;
cha = 'CHAR' fo evfo ;
lisc = 'PROG' 1 pas 1 24;
*lisc = 'PROG' 1 pas 1 6 pas 1 7 pas 1 12 pas 1 13 pas 1 24 ;
*pas 0.1 13 pas 1 24 ; yp = youn_M5 / 100. ;
tab = 'TABLE' ;
tab.'MODELE' = mo ;
tab.'CARACTERISTIQUES' = mat ;
tab.'CHARGEMENT' = cha ;
tab.'BLOCAGES_MECANIQUES' = cl ;
*tab.deltaiter= 20;
tab.maxdefor=5.e-5;
tab.'TEMPS_CALCULES' = lisc ;
tab.'TEMPS_SAUVES' = lisc ;
PASAPAS tab ;
time = tab.TEMPS ;
ntime = 'DIME' time ;
n = ntime-1 ;
dep = tab.'DEPLACEMENTS' ;
sig = tab.'CONTRAINTES' ;
vi = tab.'VARIABLES_INTERNES' ;
titr 'P2' ;
FXEPS_P2 = FEPS mo mat ntime dep sig 'EPS' 'EFFX' P2 ;
FXt_P2 = FTEMPS mo mat ntime time dep 'UZ' P2 ;
'SI' DESSI; dess FXEPS_P2 ; dess FXt_P2 ; 'FINSI' ;
titr 'P3' ;
FXEPS_P3 = FEPS mo mat ntime dep sig 'EPS' 'EFFX' P3 ;
FXt_P3 = FTEMPS mo mat ntime time dep 'UZ' P3 ;
'SI' DESSI; dess FXEPS_P3 ; dess FXt_P3 ; 'FINSI' ;
titr 'R0' ;
FXEPS_R0 = FEPS mo mat ntime dep sig 'EPS' 'EFFX' R0 ;
FXt_R0 = FTEMPS mo mat ntime time dep 'UZ' R0 ;
'SI' DESSI; dess FXEPS_R0 ; dess FXt_R0 ; 'FINSI' ;
titr 'Q2' ;
FXEPS_Q2 = FEPS mo mat ntime dep sig 'EPS' 'EFFX' Q2 ;
FXt_Q2 = FTEMPS mo mat ntime time dep 'UZ' Q2 ;
'SI' DESSI; dess FXEPS_Q2 ; dess FXt_Q2 ; 'FINSI' ;
titr 'Q3' ;
FXEPS_Q3 = FEPS mo mat ntime dep sig 'EPS' 'EFFX' Q3 ;
FXt_Q3 = FTEMPS mo mat ntime time dep 'UZ' Q3 ;
'SI' DESSI; dess FXEPS_Q3 ; dess FXt_Q3 ; 'FINSI' ;
tdes = 'TABLE' ;
tdes.'TITRE' = 'TABLE' ;
tdes . 1 = 'MARQ ETOI' ;
tdes . 2 = 'MARQ CARR' ;
tdes . 3 = 'MARQ TRIA' ;
tdes . 4 = 'MARQ TRIB' ;
tdes.'TITRE' . 1 = 'MOT' 'P2' ;
tdes.'TITRE' . 2 = 'MOT' 'P3' ;
tdes.'TITRE' . 3 = 'MOT' 'Q2' ;
tdes.'TITRE' . 4 = 'MOT' 'Q3' ;
titr 'UX(t)' ;
'SI' DESSI ; dess (FXt_P2 et FXt_P3 et FXt_Q2 et FXt_Q3) LEGE tdes ;
'FINSI' ;
ni = 6 ;
titr 'UX le long de la poutre t=' time.ni ;
evUXgeo = 'EVOL' 'CHPO' dep.ni 'UZ' (inve geo) ;
'SI' DESSI; dess evUXgeo ; 'FINSI' ;
geolien = lien et geo2 ;
titr 'UX le long de la liaison t=' time.ni ;
evUXlien = 'EVOL' 'CHPO' dep.ni 'UZ' geolien ;
evUXliey = extr evUXlien 'ORDO' ;
evUXliex = (extr evUXlien 'ABSC')+(prog (dime evUXliey)*long) ;
evUXlie = 'EVOL' 'MANU' evUXliex evUXliey ;
'SI' DESSI; dess (evUXlie et evUXgeo) ; 'FINSI' ;
def = 'DEFO' dep.ni mailtot 100. 'ROUG' ;
def0 = 'DEFO' dep.ni mailtot 0. ;
'SI' DESSI; trac (def0 et def) ; 'FINSI' ;
l2 = long-l1 ;
k1 = (youn_M5 * air) / l1 ;
k2 = (youn_M5 * air) / l2 ;
k = k1 / 2. ;
*- pour ep_plaq = 0.425E-3
*k = 1./(4.26698E-6) ;
PREXABSO = 1E-6 ;
pinstant = 'PROG' 6. 7. 12. 12.5 18. 24. ;
instants = 'LECT' ;
'REPE' boc00 ('DIME' pinstant) ;
tinstant = 'EXTR' pinstant &boc00 ;
'REPE' boc0 ntime ;
nt = &boc0 - 1 ;
t = time.nt ;
'SI' (t 'NEG' 0.) ;
test = (time.nt - tinstant) / tinstant ;
test = 'ABS' test ;
'SI' (test '<EG' 1E-4) ;
instants = instants 'ET' ('LECT' nt) ;
'FINSI' ;
'FINSI' ;
'FIN' boc0 ;
'FIN' boc00 ;
'REPE' boc1 ('DIME' instants) ;
ti = 'EXTR' instants &boc1 ;
t = time.ti ;
ft = 'MAXI' ('TIRE' cha t) ;
'SI' (t '<EG' 12.) ;
evUXsol = SOLEFFX ft fseuilx k
l1 air youn_M5 yp
l2 air youn_M5 ;
fa=ft ;
'SINON' ;
evUXsol = SOLEFFX ft fseuilx k
l1 air youn_M5 yp
l2 air youn_M5 fa ;
'FINSI' ;
evUXlien = 'EVOL' 'CHPO' dep.ti 'UZ' geolien ;
evUXsolx = 'EXTR' evUXsol 'ABSC' ;
evUXsoly = 'EXTR' evUXsol 'ORDO' ;
evUXlenx = 'EXTR' evUXlien 'ABSC' ;
evUXleny = 'EXTR' evUXlien 'ORDO' ;
evUXleny = 'IPOL' evUXsolx evUXlenx evUXleny ;
test = 'ABS' (evUXsoly - evUXleny) ;
test = 'MAXI' test ;
'SI' ('<' test PREXABSO) ;
'ERRE' 0 ;
'SINON' ;
'MESS' 'ERREUR DEPLACEMENT AXIAL a t= ' t
test ' > ' PREXabso ;
mess ' evuxsoly'; list evuxsoly;
mess ' evuxleny'; list evuxleny;
mess ' evuxsolx'; list evuxsolx;
* 'ERRE' 5 ;
'FINSI' ;
tdes = 'TABLE' ;
tdes.'TITRE' = 'TABLE' ;
tdes . 1 = 'MARQ ETOI' ;
tdes . 2 = 'MARQ CARR' ;
tdes.'TITRE' . 1 = 'MOT' 'Solution' ;
tdes.'TITRE' . 2 = 'MOT' 'Calcul' ;
titr 'UX le long de la poutre t=' t ;
'SI' DESSI;
dess (evUXsol et evUXlien) tdes LEGE ;
'FINSI' ;
'FIN' boc1 ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer