Télécharger pilotage_indirect_1.dgibi
* fichier : pilotage_indirect_1.dgibi *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * Problem description: * * In the example below, we study the effects caused by the progressive * strain localization. The structure consists of a bar under uniform * tension in which the load is applied via displacement control at the * right edge. At this edge, only the direction of the displacement * is known a priori. The displacement intensity is calculated in such * a way to respect the path equation specified by the user. Here, the * defaut path equation (CMSI) is utilised. The strain localization is * induced increasing the value of NELX. The higher this number the * more severe the snap-back becomes. On the other hand, the lower this * number, the more the snap-back tends to fade away. * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *'OPTI' 'ECHO' 0; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * export psc figures PLT1 = VRAI; * export output text EXP1 = FAUX; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * DEFINING THE PARAMETRIC GEOMETRY * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * bar height H1 = 0.1; * bar length L1 = 1.0; * total number of elements along the x direction NELX = 29; * total number of elements along the y direction NELY = 3; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PIN = 'TABLE'; 'SI' (NELX < 3); 'SINON'; PIN.1 = 0. 0.; 'FINSI'; 'REPE' BOPO NELX; CX = CX + (L1/NELX); PIN.(&BOPO + 1) = CX CY; 'FIN' BOPO; LINH = 'TABLE'; 'REPE' BOLI NELX; 'FIN' BOLI; 'REPE' BOLI NELX; 'SI' (&BOLI 'EGA' 1); MALHA = LINH.(&BOLI); 'SINON'; MALHA = MALHA 'ET' LINH.(&BOLI); 'FINSI'; 'FIN' BOLI; PSU = 'TABLE'; PSU.1 = 0. H1; 'REPE' BOPO NELX; CX = CX + (L1/NELX); PSU.(&BOPO + 1) = CX CY; 'FIN' BOPO; 'REPE' BOPO NELX; CX = CX + (L1/NELX); PSU.(&BOPO + 1) = CX CY; 'FIN' BOPO; 'REPE' BOLI NELX; 'FIN' BOLI; 'REPE' BOLI NELX; MALHA = MALHA 'ET' LINH.(NELX + &BOLI); 'FIN' BOLI; *VERTICAL LINES 'REPE' BOLI (NELX+1); 'FIN' BOLI; 'REPE' BOLI (NELX+1); MALHA = MALHA 'ET' LINH.((2*NELX) + &BOLI); 'FIN' BOLI; *SURFACES AREA = 'TABLE'; 'REPE' BOEX NELX; LINH.(&BOEX + (2*NELX) + 1) LINH.(&BOEX + NELX) LINH.(&BOEX + (2*NELX)) ; 'FIN' BOEX; 'REPE' BOEX NELX; 'SI' (&BOEX 'EGA' 1); ELASPART = AREA.(&BOEX); 'SINON'; 'SI' (&BOEX 'EGA' ((NELX+1)/2)); DAMMPART = AREA.(&BOEX); 'SINON'; ELASPART = ELASPART 'ET' AREA.(&BOEX); 'FINSI'; 'FINSI'; 'FIN' BOEX; str1 = (DAMMPART 'ET' ELASPART); leftedg = LINH.(2*NELX + 1); PA = PIN.1; PB = PIN.(NELX+1); rigtedg = LINH.(3*NELX + 1); 'SI' PLT1; 'TRAC' str1; 'FINSI'; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF PARAMETRIC GEOMETRY * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * DEFINING MODEL AND MATERIAL * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AT=1.0e0; AC=1.2e0; BC=1.5e+03; BT=1.0E4; epsd0=1.0E-4; YG=1.0E+9; BBT=1.06e0; NNU=0.0; RO =2.3E+03; MOD2 = 'MODE' DAMMPART 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'ENDOMMAGEMENT' 'MAZARS'; MAT2 = 'MATE' MOD2 'YOUN' YG 'NU' NNU 'RHO' RO 'BTRA' BT 'KTR0' epsd0 'ATRA' AT 'ACOM' AC 'BCOM' BC 'BETA' BBT; MODTOT = MOD1 'ET' MOD2; MATTOT = MAT1 'ET' MAT2; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF MODEL AND MATERIAL * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * DEFINING BOUNDARY CONDITIONS (known a priori) * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CLT = CL1 'ET' CL2; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF BOUNDARY CONDITIONS * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * PROBLEM SOLUTION * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * number of time increments ntincrem = 24; * * control parameter TAU = 5.0E-5; * * direction of the applied displacement (u_hat) CLT = CLT 'ET' CL3; * * **** preparing PASAPAS input table tab1 = 'TABLE'; tab1 . 'MOVA' = 'D' ; tab1 . 'BLOCAGES_MECANIQUES' = CLT ; tab1 . 'CARACTERISTIQUES' = mattot ; tab1 . 'MODELE' = modtot ; tab1 . 'TEMPS_CALCULES' = lis_incr ; **** lines to be included for ativating path-following control ****** tab1 . 'PILOTAGE_INDIRECT' = VRAI; tab1 . 'DEPLACEMENTS_PILOTES' = uch ; tab1 . 'PARAMETRE_DE_PILOTAGE' = ev1 ; PASAPAS tab1; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF SOLUTION * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * BEGIN OF POST-PROCESSING * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * **** procedure @TOTAL adapted 'FINPROC' TOT1 ; * * * * 'REPE' LAB (nn - 1 ) ; ii = &LAB ; TT = tab1 . 'TEMPS' . ii ; deplac = tab1 . 'DEPLACEMENTS' . ii ; FF = RESFORCE force_indirect rigtedg 'FX' ; 'FIN' LAB ; 'SI' PLT1; PROETA = TAB1 . 'COEFFICIENT_DE_PILOTAGE' ; 'DESS' evo11 ; 'DESS' evo12 ; 'FINSI'; 'SI' EXP1; 'FINSI'; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF POST-PROCESSING * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * BEGIN OF NON-REGRESSION TEST * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * modif pv modification residuel mazars - retour en arriere suite changement residuel * REFX = REFX 'ET' ('PROG' 3.63083E-05); * REFX = REFX 'ET' ('PROG' 3.80372E-05); * REFX = REFX 'ET' ('PROG' 3.97662E-05); * REFX = REFX 'ET' ('PROG' 4.14952E-05); * modif pv modification mazars residuel - retour en arriere suite changement residuel * REFY = REFY 'ET' ('PROG' 1.05E+01); * REFY = REFY 'ET' ('PROG' 1.10E+01); * REFY = REFY 'ET' ('PROG' 1.15E+01); * REFY = REFY 'ET' ('PROG' 1.20E+01); tol1 = 1.0e-3; maxres = 0.; 'REPE' BTEST (nn - 1 ) ; res1 = 'ABS' ((V1 - V2)/V1); 'SI' (res1 > maxres); maxres = res1; 'FINSI'; res2 = 'ABS' ((W1 - W2)/W1); 'SI' (res2 > maxres); maxres = res2; 'FINSI'; 'FIN' BTEST ; err1 = maxres > tol1; 'SI' err1; 'FINSI'; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * END OF NON-REGRESSION TEST * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 'FIN';
© Cast3M 2003 - Tous droits réservés.
Mentions légales