Numérotation des lignes :

* HAUBAN    PROCEDUR  AM        93/05/19    21:16:18     856            'DEBPROC' HAUBAN ;                                                      *------------------------------------------------------------------     *                    PROCEDURE HAUBAN                                   *------------------------------------------------------------------     *                                                                       *   EN ENTREE :   2 POINTS                                              *                 RIGIDITE ES                                           *                 POIDS LINEIQUE PL                                     *                 LONGUEUR INITIALE L0                                  *                 NOMBRE DE NOEUDS NN                                   *                                                                       *                                                                       *  EN SORTIE :    MAILLAGE EN BARRES                                    *                 MODELE                                                *                 CHAMELEM DE TENSIONS                                  *                                                                       'ARGUMENT' P1*POINT  P2*POINT ;                                         'ARGUMENT' ES*FLOTTANT PL*FLOTTANT;'ARGUMENT' L0*FLOTTANT ;                                                'ARGUMENT' NN*ENTIER   IMP/LOGIQUE ;                                    *                                                                       'SI' (  'NON' ( 'EXIS' IMP ) ) ;                                         IMP = FAUX ;                                                           'FINSI';                                                                *                                                                       *  ON RECUPERE LA DIMENSION DE L'ESPACE                                 *                                                                       IDIM = 'VALE' DIME ;                                                    *                                                                       *                                                                       *  PARAMETRES GEOMETRIQUES ET AUTRES                                    *                                                                       PREC=1.E-8 ;                                                            DX = ( 'COOR' 1 P2 ) - ( 'COOR' 1 P1 ) ;                                DZ = ( 'COOR' IDIM P2 ) - ( 'COOR' IDIM P1 ) ;                          'SI' ( IDIM 'EGA' 3 ) ;                                                   DY = ( 'COOR' 2 P2 ) - ( 'COOR' 2 P1 ) ;                              'FINSI';                                                                A  = L0;                                                                P  = PL ;                                                               *                                                                       * CALCUL DE QUELQUES QUANTITES                                          *                                                                       DX2 = DX * DX ;                                                         DZ2 = DZ * DZ ;                                                         L2 = DX2 + DZ2 ;                                                        'SI' ( IDIM 'EGA' 3 ) ;                                                   DY2 = DY * DY ;                                                         L2 = L2 + DY2 ;                                                       'FINSI';                                                                LL = L2 ** 0.5 ;                                                        'SI' ( IDIM 'EGA' 3 ) ;                                                   LPROJ = ( DX2 + DY2 ) ** 0.5 ;                                          COSTET = DX / LPROJ ;                                                   SINTET = DY / LPROJ ;                                                   DX = ( COSTET * DX ) + ( SINTET * DY ) ;                                DX2 = DX * DX ;                                                       'FINSI';                                                                *                                                                       P2ES = P / ( 2. * ES ) ;                                                *                                                                       *  CALCUL D'UNE PREMIERE ESTIMATION DE ALP                              *                                                                       CO0 = -1. * ( ( P * LL ) / ES ) ;                                       CO1 = LL - A ;                                                          CO2 = CO0  / 12. ;                                                      CO3 = DX2 / ( 24. * LL ) ;                                              *                                                                       XR1 XI1 XR2 XI2 XR3 XI3 = 'DEG3' CO0 CO1 CO2 CO3 ;                      'SI' IMP ;                                                               MESS ' XR1 XI1 ' XR1 XI1 ;                                              MESS ' XR2 XI2 ' XR2 XI2 ;                                              MESS ' XR3 XI3 ' XR3 XI3 ;                                             'FINSI' ;                                                               ALP = 'MAXI' ( 'PROG' XR1 XR2 XR3 ) ;                                   *                                                                       *  SCHEMA ITERATIF                                                      *                                                                       IBOU = 0;                                                               'REPE' LABOU 50;                                                        IBOU = IBOU + 1 ;                                                       'SI' IMP ; 'MESS' ' ITERATION N° ' IBOU ; 'FINSI';                      *                                                                       *   CALCUL DE LA FONCTION ET DE SA DERIVEE                              *                                                                       ALP2 = ALP / 2. ;                                                       SHAL = 'SINH' ALP ;                                                     CHAL = 'COSH' ALP ;                                                     SHAL2 = 'SINH' ALP2 ;                                                   CHAL2 = 'COSH' ALP2 ;                                                   THAL2 = 'TANH' ALP2 ;                                                   FF1 = ( ((( DX * SHAL2 ) /ALP2 ) ** 2 ) + DZ2 ) ** 0.5 ;                FF2 = P2ES * ((( DX2 / ALP) * ( 1. + ( SHAL / ALP))) + (DZ2 /THAL2));   FON  = FF1 - ( FF2 + A ) ;                                              *                                                                       DF1 =(( DX2 / ( ALP2 ** 3))*(SHAL2 * ( (ALP2 * CHAL2) - SHAL2)))             / ( 2. * FF1 ) ;                                                   DF2 = (DX2 /(ALP*ALP))*((CHAL - 1.) - ( SHAL / ALP2 )) -                      ( ( DZ2 / 2.)/(SHAL2 * SHAL2)) ;                                  DFON = DF1 - ( P2ES * DF2) ;                                            *                                                                       *  INCREMENT                                                            *                                                                       DALP = ( -1. * FON ) / DFON ;                                           'SI' IMP ; 'MESS' ' ALP DALP ' ALP DALP ; 'FINSI' ;                     ACA = 'ABS' (DALP / ALP );                                              ALP = ALP + DALP ;                                                      *                                                                       *  TESTS DE CONVERGENCE                                                 *                                                                        'SI' ( ACA < PREC) ;                                                       'QUITTER' LABOU ;                                                    'FINSI';                                                                'SI' ( IBOU 'EGA' 50) ;                                                 'ERRE' ' NOMBRE MAXIMUM D ITERATIONS ATTEINT' ;                         'QUITTER' HAUBAN ;                                                      'FINSI';                                                                'FIN' LABOU ;                                                          'SI' IMP ; 'MESS' 'ALP ' ALP ; 'FINSI' ;                                 HH =( P * DX ) / ALP ;                                                  HH = ABS ( ( P * DX ) / ALP ) ;                                        ALP2 = ALP / 2. ;                                                       BET = ( ALP2 * DZ ) / (  ( 'SINH' ALP2 ) * DX ) ;                       *                                                                       *  CREATION DU MAILLAGE                                                 *                                                                       'OPTI'  'ELEM' 'SEG2' ;                                                 GEO1 = P1 D NN P2 ;                                                     *                                                                       *  CALCUL DE LA POSITION REELLE                                         *                                                                       'SI' ( IDIM 'EGA' 2 ) ;                                                   XX ZZ  = 'COOR'  GEO1 ;                                                 X1 Z1  = 'COOR'  P1 ;                                                   X2  Z2 = 'COOR'  P2 ;                                                 SINON;                                                                    XXX YY ZZ = 'COOR'  GEO1 ;                                              XX = ( COSTET * XXX) + ( SINTET * YY );                                 XX1 Y1 Z1 = 'COOR'  P1 ;                                                X1 = ( COSTET * XX1 ) + ( SINTET * Y1 );                                XX2 Y2 Z2 = 'COOR'  P2 ;                                                X2 = ( COSTET * XX2 ) + ( SINTET * Y2 );                              FINSI;                                                                   CX1 = 'MANU' 'CHPO' GEO1 1 'SCAL' X1;                                   CX2 = 'MANU' 'CHPO' GEO1 1 'SCAL' X2;                                   CZ1 = 'MANU' 'CHPO' GEO1 1 'SCAL' Z1;                                   CDX1=  XX - CX1 ;                                                       CDZ1=  ZZ - CZ1 ;                                                       CDX2=  XX - CX2 ;                                                       FAC = P / ( 2. * HH ) ;                                                 CHACOS2= 'COSH' (FAC * CDX2 ) ;                                         CHASIN2= 'SINH' (FAC * CDX2 ) ;                                         CHI2 = (BET * CHACOS2)  +                                                 ((((BET ** 2) + 1.) ** 0.5) * CHASIN2 ) ;                             CHACOS1= 'COSH' (FAC * CDX1 ) ;                                         CHASIN1= 'SINH' (FAC * CDX1 ) ;                                         *                                                                       *   LA LIGNE SUIVANTE PLANTE                                            *                                                                       *CHI1 = ( 1. / FAC ) * ( 'SINH' ( FAC * CDX1 )) ;                        CHI1 = ( 1. / FAC ) * CHASIN1  ;                                       LIM = 'MOTS' 'SCAL' ;                                                   CZ= ( 'PSCAL'  CHI1 CHI2 LIM LIM ) - CDZ1 ;                             'SI' ( IDIM 'EGA' 2 ) ;                                                 'DEPLA'  GEO1 'PLUS' ( 'NOMC' CZ UY ) ;                                 'SINON';                                                                'DEPLA'  GEO1 'PLUS' ( 'NOMC' CZ UZ ) ;                                 'FINSI';                                                                'SI' IMP ;                                                              'SI' ( IDIM 'EGA' 2 );                                                   'TRAC' GEO1;                                                           'SINON';                                                                 'TRAC'  ( 1000 2000 3000 ) GEO1;                                       'FINSI';                                                                'MESS' ' NOUVELLE LONGUEUR ' ( 'MESU' GEO1);                            'FINSI';                                                                *                                                                       *  CALCUL DE LA TENSION                                                 *                                                                       SHI2 = (BET * CHASIN2)  +                                                 ((((BET ** 2) + 1.) ** 0.5) * CHACOS2 ) ;                             ZPRIM = ( 'PSCAL' CHACOS1 CHI2 LIM LIM ) +                                      ( 'PSCAL' CHASIN1 SHI2 LIM LIM )  ;                             UNI = 'MANU' 'CHPO' GEO1 1 'SCAL' 1. ;                                  TEN = HH * ( ( UNI + ( ZPRIM ** 2 ) ) ** 0.5 ) ;                        'SI' IMP ;                                                               EV = 'EVOL' TURQ 'CHPO' TEN SCAL GEO1 ;                                 'DESS' EV ;                                                            'FINSI';                                                                *                                                                       *  CREATION DU MODELE ET CHAMELEM DE TENSION                            *                                                                       MOD1 = 'MODEL' GEO1 'MECANIQUE' 'ELASTIQUE'  BARR ;                     CHATEN = 'CHANGER' 'CHAM' ('NOMC' TEN 'EFFX') MOD1                               'STRESSES' 'CONTRAINTES' ;                                     'RESPRO' GEO1 MOD1 CHATEN ;                                             'FINPROC' ;

© Cast3M 2003 - Tous droits réservés.
Mentions légales