* fichier : th_boucle.dgibi
DEBP REEV_THE TB*TABLE IND*ENTIER ;
mess 'REEV_THE' ;
FINP ;
*--------------------------------------------------------*
DEBP REEV_MEC TB*TABLE IND*ENTIER ;
mess 'REEV_MEC' ;
* SI (EXISTE TB 'TT') ;
* TTTTT = TB. 'TT' . 'T_PREC' ;
* SINON ;
* TTTTT = 0. ;
* FINSI ;
estim=TB.'ESTIMATION';
TTTTT= estim.'TEMPS';
wtab=tb.'WTABLE';
CONF0 = FORME ;
TB_REV = TB.'TABREP' ;
S1 = TB_REV . 'S1' ;
S2 = TB_REV . 'S2' ;
* FORME TB.'DEPI' ;
FORME estim . 'DEPLACEMENTS';
VAL_H = (0.02*TTTTT) + 0.1 ;
SI (TTTTT > 10.) ;
VAL_H = 0.3 ;
FINSI ;
mess 'TEMP0 -->' VAL_H ;
wtab . 'MAT_TOT' = TB_REV.'MATT1' ET TB_REV.'MATT2' ET
TB_REV.'MATM1' ET TB_REV.'MATM2' ;
wtab . 'MAT_TOT' = wtab . 'MAT_TOT' ET
(mater (TB_REV.'MOT3') 'K' VAL_H 'C' 0. 'RHO' 0.) ;
wtab.'MAT_COND'='REDU' wtab.'MAT_TOT' WTAB.'MOD_COND';
FORME CONF0 ;
FINP ;
*--------------------------------------------------------*
*--------------------------------------------------------*
opti dime 2 elem qua8 ;
dens 1 ;
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
p0 = 0. 0. ; p1 = 1. 0. ;
d1 = d 20 p0 p1;
s1 = d1 tran 4 (0. 1.);
clt1 = cote 4 s1 ;
CLM1 = cote 2 s1 ;
p2 = 1.3 0. ; p3 = 1.6 0. ;
d2 = d 7 p2 p3;
s2 = d2 tran 4 (0. 1.);
clt2 = cote 2 s2 ;
CLM2 = COTE 4 s2 ;
*trace (s1 et s2);
coterac1 = cote 2 s1 ;
coterac2 = cote 4 s2 ;
L1 = coterac1 ;
L2 = INVE coterac2 ;
II = 0 ;
REPETER BOUC01 (NBELEM L1 ) ;
II = II + 1 ;
rac_int = raccord 1.0 (L1 elem II) (L2 ELEM II);
SI ('EGA' II 1) ;
RACTOT = RAC_INT ;
SINON ;
RACTOT = RACTOT ET RAC_INT ;
FINSI ;
FIN BOUC01 ;
ractot = coterac1 regler 7 (inve coterac2) ;
mom1 = modele s1 mecanique elastique cons meca ;
mom2 = modele s2 mecanique elastique cons meca ;
matm1 = mater mom1 'YOUN' 1E10 'NU' 0. 'ALPHA' 1E-4 ;
matm2 = mater mom2 'YOUN' 1E10 'NU' 0. 'ALPHA' 0. ;
bl1 = (BLOQUE 'DEPL' P0) ET (BLOQUE 'DEPL' P3) ;
bl2 = (BLOQUE 'UY' D1) ET (BLOQUE 'UY' D2) ;
BL3 = 'BLOQ' UX CLM1 ;
BL4 = 'BLOQ' UX CLM2 ;
mot1 = modele s1 thermique isotrope cons ther ;
mot2 = modele s2 thermique isotrope cons ther ;
mot3 = modele RACTOT thermique isotrope cons ther ;
matt1 = mater mot1 'K' .1 'RHO' 0. 'C' 0. ;
matt2 = mater mot2 'K' .1 'RHO' 0. 'C' 0. ;
matt3 = mater mot3 'K' .1 'RHO' 0. 'C' 0. ;
CL_THER1 = BLOQUE CLT2 'T' ;
DI_PTH1 = DEPI CL_THER1 1500.;
CL_THER2 = BLOQUE CLT1 'T' ;
DI_PTH2 = DEPI CL_THER2 300. ;
CHARG1 = CHARGE 'TIMP' DI_PTH1 (EVOL MANU (PROG 0. 10. 100.)
(PROG 0.2 1. 1.)) ;
CHARG2 = CHARGE 'TIMP' DI_PTH2 (EVOL MANU (PROG 0. 10. 100.)
(PROG 1. 1. 1. )) ;
TAB1 = TABLE ;
TAB1.'CHARGEMENT' = CHARG1 ET CHARG2 ;
TAB1.'TEMPS_CALCULES' = PROG 0. PAS 4. 12. ;
TAB1.'MODELE' = mot1 et mot2 et mot3 et mom1 et mom2 ;
TAB1.'CARACTERISTIQUES' = MATT1 ET MATT2 ET MATT3
ET MATM1 ET MATM2 ;
TAB1.'BLOCAGES_MECANIQUES' = BL1 ET BL2 ET BL3 ET BL4 ;
TAB1.'BLOCAGES_THERMIQUES' = CL_THER1 ET CL_THER2 ;
TAB1.'TEMPERATURES' = TABLE ;
TAB1.'TEMPERATURES' . 0 = MANU CHPO (S1 ET S2) 1 'T' 300. ;
TAB1.'PROCEDURE_REAC_THER' = VRAI ;
TAB1.'PROCEDURE_REAC_MECA' = VRAI ;
TAB1.'CONVERGENCE_MEC_THE' = VRAI ;
TAB1.'RELAXATION_THETA' = 1. ;
TAB1.'NB_BOTH' = 5 ;
TAB1.'CRITERE_COHERENCE' = 1.E-8 ;
TAB1.'CONVERGENCE_FORCEE' = FAUX ;
* TAB1.'MEC_THER' = FAUX ;
TABREP = TABLE ;
TABREP . 'S1' = S1 ;
TABREP . 'S2' = S2 ;
TABREP . 'MATT1' = MATT1 ; TABREP . 'MATT2' = MATT2 ;
TABREP . 'MATM1' = MATM1 ; TABREP . 'MATM2' = MATM2 ;
TABREP . 'MOT3' = MOT3 ;
TAB1 . 'TABREP' = TABREP ;
*opti impi 1754;
TAB1.'PROCESSEURS' = 'AUTOMATIQUE';
tab1 =pasapas tab1;
VAL1 = TABLE ;
VAL2 = TABLE ;
II = -1 ;
REPETER BOUCT (dime TAB1.temperatures);
II = II + 1 ;
CHTER = tab1.temperatures . II ;
VAL1.II = (maxi (redu chter S1)) ;
VAL2.II = (mini (redu chter S2)) ;
mess 'T maxi S1: ' (maxi (redu chter S1))
'T mini S2: ' (mini (redu chter S2)) ;
FIN BOUCT ;
NIVERR = FAUX ;
SI ((VAL1.0 'NEG' 300. 1.E-2) OU (VAL2.0 'NEG' 300. 1.E-2)) ;
NIVERR = VRAI ;mess ' erreur 1' VAL1.0 VAL2.0 ;
FINSI ;
SI ((VAL1.1 'NEG' 627.27 1.E-2) OU (VAL2.1 'NEG' 681.82 1.E-2)) ;
NIVERR = VRAI ;mess ' erreur 2' VAL1.1 VAL2.1 ;
FINSI ;
SI ((VAL1.2 'NEG' 978.26 1.E-2) OU (VAL2.2 'NEG' 1056.52 1.E-2)) ;
NIVERR = VRAI ;mess ' erreur 3' VAL1.2 VAL2.2 ;
FINSI ;
SI ((VAL1.3 'NEG' 1157.14 1.E-2) OU (VAL2.3 'NEG' 1242.86 1.E-2)) ;
NIVERR = VRAI ;mess ' erreur 4' VAL1.3 VAL2.3 ;
FINSI ;
* je calcule les déplacements à la main sur mon exemple
tem1 = redu s1 (tab1.'TEMPERATURES' . 3) ;
tem1 = tem1 - 300. ;
rig1 = (rigi matm1 mom1) et ('BLOQ' 'DEPL' P0)
et BL3 et (BLOQUE UY D1);
sisi = theta tem1 mom1 matm1 ;
fequ = bsigma mom1 sisi ;
chf1 = fequ ;
dep2 = ENLE (reso rig1 chf1) 'LX' ;
dep1 = redu s1 (tab1 . deplacements . 3);
ddep = dep2 - dep1 ;
'SI' ((MAXI (ABS DDEP)) > 1.E-8) ;
NIVERR = VRAI ; mess ' erreur 5' ddep;
'FINSI' ;
SI NIVERR ;
ERREUR 5 ;
FINSI ;
FIN ;
© Cast3M 2003 - All rights reserved.
Disclaimer