* fichier :  gdep3.dgibi
************************************************************************
* Section : Mecanique Flambage
************************************************************************
debproc charmeca tapas*'TABLE'  ttt*'FLOTTANT';
mata= tapas.'MA_TABLE' ;
pres1 = mata . 'CHAMPPRES';evpres= mata.'EVOLPRES';
xx = evpres extr 'ABSC' ; yy = evpres extr 'ORDO';
mo1= mata.'MODPRES'; ma1= mata.'MAPRES';
coefp= ipol ttt  xx yy;
pres2= pres1 * coefp;
fpres= pressi coque mo1  pres2 'NORM' ;
taa = table;
taa.'ADDI_SECOND'= fpres;
*taa.'ADDI_MATRICE'=??
finproc taa;




complet = faux ;
*
*************************************************
*  pour calcul complet mettre complet à : vrai;
*************************************************
******************************************************************
*
* flambage d'une poutre avec encastrement glissant et rotule
* sous force axiale suiveuse
*
*
* similaire à gdep1.dgibi mais avec force suiveuse
******************************************************************
OPTIO DIME 2 ELEM SEG2 MODE 'PLAN' 'CONT' ;
*      | FORCE SUIVEUSE
*      |
*   P2 v /|o           | x
*      | \|o           |
*      |               |_____ y
*      |
*      |
*      |
*      |
*   P1 |
*     ---
*     o o
*-----------------------------------------------------------------
* le pilotage est fait sur l'amplitude du deplacement differentiel
* des points P1 et P2, auquel on attribue le signe du deplacement
* transversal (UY)

'DEBPROC' AUTOPILO DELT*'CHPOINT' DELA*'CHPOINT' ZMOD*'MMODEL'
 ZMAT*'MCHAML' TTT*TABLE;
   Ux = ( EXTR DELT P217 'UX' ) ;
   Uy = ( EXTR DELT P1 'UY' ) ;
   U = (ux*ux + (uy*uy))**0.5 ;
   NORM1 = U * uy / (abs uy) ;
FINPROC   NORM1;
*---------------------------------------------------------------
* MAILLAGE
*
P1 = 0. 0.   ; P2 = 12. 0.  ;p217=p2;
P3 = 12. -.1 ; P4 = 12 .1 ;
L1 = D 12 P1 P2  ; L2 = (P3 D 1 P2) D 1 P4 ;
*
*   MODELE
*
 MOD1 = MODEL L1 MECANIQUE ELASTIQUE coq2 ;
 mod2 = MODEL L2 MECANIQUE ELASTIQUE coq2 ;
*
*   CARACTERISTIQUES MATERIELLES ET GEOMETRIQUES
*
 MAT1 = MATER MOD1 YOUN 2.E7 NU 0.0  ;
 CAR1 = CARA MOD1 'EPAI' .15 ;
 MAT2 = MATER MOD2 YOUN 2.E7 NU 0.0  ;
 CAR2 = CARA MOD2 'EPAI' .15 ;
 MODTOT = MOD1 ET MOD2 ;
 CARTOT = CAR1 ET CAR2 ;
 MATOT = MAT1 ET MAT2 ;
*
*  FORCES ET CONDITIONS AUX LIMITES
*
 CL1 = BLOQ P1 UX RZ ;
 CL2 = BLOQ P2 UY ;
 CLT = CL1 ET CL2;
*
 pres1 = manu chpo l2 1 'P' (1./.2)  ;
* multiplicateur de charge d Euler
 lamb1 = 96.383 ;   comm 'resultat connu de gdep1.dgibi';
*
*  CALCUL NON-LINEAIRE  GEOMETRIQUE
*
 F11 = pres1 *  LAMB1 ;
 F3 = FORCE   (0. .5 ) P1  ;
*
*---- PREPARATION DE LA TABLE POUR NONLIN
*
*  OBJET CHARGEMENT
*
LI1 = PROG 0. 100. ;
LI2 = PROG 0. 100. ;
LI3 = PROG 1. 1. ;
EV3 = EVOL MANU LI1 LI3 ;
EV11 = EVOL MANU T LI1 F(T) LI2 ;
*CHA1 = (CHAR 'PSUI' F11  EV11) ET (CHAR 'MECA' F3 EV3) ;
CHA1 = CHAR 'MECA' F3 EV3;
mata= table ;mata.'MODPRES' = mod2; mata.'MAPRES' = mat2 et car2;
mata.'CHAMPPRES'= f11 ; mata.'EVOLPRES' = ev11;
*charg2 = char 'PSUI' chpo1 ev1 ;






LIS1A = PROG 0. 0.65;
TAB3 = TABLE;
TAB3.'GRANDS_DEPLACEMENTS'=VRAI;
TAB3.AUTOMATIQUE = VRAI ;
TAB3.'AUTOCRIT' = 0.2  ;
TAB3.'MAXITERATION'= 100 ;
TAB3.'AUTOPAS' =1000 ;
TAB3.'BLOCAGES_MECANIQUES' = CLT;
TAB3.'MODELE' = MODTOT;
TAB3.'CHARGEMENT' = CHA1;
TAB3.'CARACTERISTIQUES' = (MATOT ET CARTOT);
TAB3.'TEMPS_CALCULES' = LIS1A;
tab3.'MA_TABLE'=mata;
tab3.'PROCEDURE_CHARMECA'= vrai;
tab3.'K_SIGMA'=faux;
PASAPAS TAB3 ;
*
si complet;

TAB3.'AUTOCRIT' = 0.5 ;
LIS1B = PROG 0.9 pas 0.1 1.3 ;
TAB3.'TEMPS_CALCULES' = LIS1B;
PASAPAS TAB3 ;
*
TAB3.'AUTOCRIT' = 0.05 ;
TAB3.'TEMPS_CALCULES' =  prog 1.4 ;
PASAPAS TAB3 ;

TAB3.'AUTOCRIT' = 0.3 ;
TAB3.'TEMPS_CALCULES' =  prog 1.5 pas 0.1 1.8 ;
PASAPAS TAB3 ;

TAB3.'AUTOCRIT' = 0.2 ;
TAB3.'TEMPS_CALCULES' =  prog 1.9 ;
PASAPAS TAB3 ;

TAB3.'AUTOCRIT' = 0.4 ;
TAB3.'TEMPS_CALCULES' =  prog 2.0 ;
PASAPAS TAB3 ;

TAB3.'AUTOCRIT' = 0.3 ;
TAB3.'TEMPS_CALCULES' =  prog 2.1 pas 0.1 2.2 2.31 ;
PASAPAS TAB3 ;

finsi;

**************************************************************
*   COMPARAISON AVEC LES RESULTATS ANALYTIQUES
*
* 1) CHARGEMENT = 2.31 * PCR (equivalent à 1.152Pcr conservatif,
*                            pour un angle de 60 degrées)
 DEP1 = PECHE TAB3 'DEPLACEMENTS'   ;
 PP1 = POINT L1 12   ;
 XX1 = (EXTR DEP1 PP1  UX) +  (COOR 1 PP1) ;
 YY1 = (EXTR DEP1 PP1  UY) +  (COOR 2 PP1) ;
 XX2 = (EXTR DEP1 P2  UX) +  (COOR 1 P2) ;
 YY2 = (EXTR DEP1 P2  UY) +  (COOR 2 P2) ;
 TN = ((YY2 - YY1)/(XX2 - XX1)) ;
 ALPHA = ATG TN ;

si complet ;
   ALPHATH = -60.  ; ermax = 5.e-3 ;
sinon ;
   ALPHATH = -1.062 ; ermax = 0.05 ;
finsi;

ER1 =((ABS (ALPHA - ALPHATH )) / (ABS ALPHATH )) * 100. ;
opti echo 0 ;
MESS    'ANGLE DE ROTATION  P = 2.31  * PCRp     ' ;
MESS 'THEORIE ' ALPHATH 'CASTEM ' ALPHA '%ERREUR ' ER1 ;
opti echo 1 ;

*
SI (ER1 <  ermax);
   ERRE 0;
SINON;
   ERRE 5;
FINSI;
FIN ;









 

 

 

 

 

 

 

 

