Download liai_ar1.dgibi

Back to the list

* 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