1 : * HAUBAN PROCEDUR AM 93/05/19 21:16:18 856 2 : 'DEBPROC' HAUBAN ; 3 : *------------------------------------------------------------------ 4 : * PROCEDURE HAUBAN 5 : *------------------------------------------------------------------ 6 : * 7 : * EN ENTREE : 2 POINTS 8 : * RIGIDITE ES 9 : * POIDS LINEIQUE PL 10 : * LONGUEUR INITIALE L0 11 : * NOMBRE DE NOEUDS NN 12 : * 13 : * 14 : * EN SORTIE : MAILLAGE EN BARRES 15 : * MODELE 16 : * CHAMELEM DE TENSIONS 17 : * 18 : 'ARGUMENT' P1*POINT P2*POINT ; 19 : 'ARGUMENT' ES*FLOTTANT PL*FLOTTANT; 20 : 'ARGUMENT' L0*FLOTTANT ; 21 : 'ARGUMENT' NN*ENTIER IMP/LOGIQUE ; 22 : * 23 : 'SI' ( 'NON' ( 'EXIS' IMP ) ) ; 24 : IMP = FAUX ; 25 : 'FINSI'; 26 : * 27 : * ON RECUPERE LA DIMENSION DE L'ESPACE 28 : * 29 : IDIM = 'VALE' DIME ; 30 : * 31 : * 32 : * PARAMETRES GEOMETRIQUES ET AUTRES 33 : * 34 : PREC=1.E-8 ; 35 : DX = ( 'COOR' 1 P2 ) - ( 'COOR' 1 P1 ) ; 36 : DZ = ( 'COOR' IDIM P2 ) - ( 'COOR' IDIM P1 ) ; 37 : 'SI' ( IDIM 'EGA' 3 ) ; 38 : DY = ( 'COOR' 2 P2 ) - ( 'COOR' 2 P1 ) ; 39 : 'FINSI'; 40 : A = L0; 41 : P = PL ; 42 : * 43 : * CALCUL DE QUELQUES QUANTITES 44 : * 45 : DX2 = DX * DX ; 46 : DZ2 = DZ * DZ ; 47 : L2 = DX2 + DZ2 ; 48 : 'SI' ( IDIM 'EGA' 3 ) ; 49 : DY2 = DY * DY ; 50 : L2 = L2 + DY2 ; 51 : 'FINSI'; 52 : LL = L2 ** 0.5 ; 53 : 'SI' ( IDIM 'EGA' 3 ) ; 54 : LPROJ = ( DX2 + DY2 ) ** 0.5 ; 55 : COSTET = DX / LPROJ ; 56 : SINTET = DY / LPROJ ; 57 : DX = ( COSTET * DX ) + ( SINTET * DY ) ; 58 : DX2 = DX * DX ; 59 : 'FINSI'; 60 : * 61 : P2ES = P / ( 2. * ES ) ; 62 : * 63 : * CALCUL D'UNE PREMIERE ESTIMATION DE ALP 64 : * 65 : CO0 = -1. * ( ( P * LL ) / ES ) ; 66 : CO1 = LL - A ; 67 : CO2 = CO0 / 12. ; 68 : CO3 = DX2 / ( 24. * LL ) ; 69 : * 70 : XR1 XI1 XR2 XI2 XR3 XI3 = 'DEG3' CO0 CO1 CO2 CO3 ; 71 : 'SI' IMP ; 72 : MESS ' XR1 XI1 ' XR1 XI1 ; 73 : MESS ' XR2 XI2 ' XR2 XI2 ; 74 : MESS ' XR3 XI3 ' XR3 XI3 ; 75 : 'FINSI' ; 76 : ALP = 'MAXI' ( 'PROG' XR1 XR2 XR3 ) ; 77 : * 78 : * SCHEMA ITERATIF 79 : * 80 : IBOU = 0; 81 : 'REPE' LABOU 50; 82 : IBOU = IBOU + 1 ; 83 : 'SI' IMP ; 'MESS' ' ITERATION N° ' IBOU ; 'FINSI'; 84 : * 85 : * CALCUL DE LA FONCTION ET DE SA DERIVEE 86 : * 87 : ALP2 = ALP / 2. ; 88 : SHAL = 'SINH' ALP ; 89 : CHAL = 'COSH' ALP ; 90 : SHAL2 = 'SINH' ALP2 ; 91 : CHAL2 = 'COSH' ALP2 ; 92 : THAL2 = 'TANH' ALP2 ; 93 : FF1 = ( ((( DX * SHAL2 ) /ALP2 ) ** 2 ) + DZ2 ) ** 0.5 ; 94 : FF2 = P2ES * ((( DX2 / ALP) * ( 1. + ( SHAL / ALP))) + (DZ2 /THAL2)); 95 : FON = FF1 - ( FF2 + A ) ; 96 : * 97 : DF1 =(( DX2 / ( ALP2 ** 3))*(SHAL2 * ( (ALP2 * CHAL2) - SHAL2))) 98 : / ( 2. * FF1 ) ; 99 : DF2 = (DX2 /(ALP*ALP))*((CHAL - 1.) - ( SHAL / ALP2 )) - 100 : ( ( DZ2 / 2.)/(SHAL2 * SHAL2)) ; 101 : DFON = DF1 - ( P2ES * DF2) ; 102 : * 103 : * INCREMENT 104 : * 105 : DALP = ( -1. * FON ) / DFON ; 106 : 'SI' IMP ; 'MESS' ' ALP DALP ' ALP DALP ; 'FINSI' ; 107 : ACA = 'ABS' (DALP / ALP ); 108 : ALP = ALP + DALP ; 109 : * 110 : * TESTS DE CONVERGENCE 111 : * 112 : 'SI' ( ACA < PREC) ; 113 : 'QUITTER' LABOU ; 114 : 'FINSI'; 115 : 'SI' ( IBOU 'EGA' 50) ; 116 : 'ERRE' ' NOMBRE MAXIMUM D ITERATIONS ATTEINT' ; 117 : 'QUITTER' HAUBAN ; 118 : 'FINSI'; 119 : 'FIN' LABOU ; 120 : 'SI' IMP ; 'MESS' 'ALP ' ALP ; 'FINSI' ; 121 : HH =( P * DX ) / ALP ; 122 : HH = ABS ( ( P * DX ) / ALP ) ; 123 : ALP2 = ALP / 2. ; 124 : BET = ( ALP2 * DZ ) / ( ( 'SINH' ALP2 ) * DX ) ; 125 : * 126 : * CREATION DU MAILLAGE 127 : * 128 : 'OPTI' 'ELEM' 'SEG2' ; 129 : GEO1 = P1 D NN P2 ; 130 : * 131 : * CALCUL DE LA POSITION REELLE 132 : * 133 : 'SI' ( IDIM 'EGA' 2 ) ; 134 : XX ZZ = 'COOR' GEO1 ; 135 : X1 Z1 = 'COOR' P1 ; 136 : X2 Z2 = 'COOR' P2 ; 137 : SINON; 138 : XXX YY ZZ = 'COOR' GEO1 ; 139 : XX = ( COSTET * XXX) + ( SINTET * YY ); 140 : XX1 Y1 Z1 = 'COOR' P1 ; 141 : X1 = ( COSTET * XX1 ) + ( SINTET * Y1 ); 142 : XX2 Y2 Z2 = 'COOR' P2 ; 143 : X2 = ( COSTET * XX2 ) + ( SINTET * Y2 ); 144 : FINSI; 145 : 146 : CX1 = 'MANU' 'CHPO' GEO1 1 'SCAL' X1; 147 : CX2 = 'MANU' 'CHPO' GEO1 1 'SCAL' X2; 148 : CZ1 = 'MANU' 'CHPO' GEO1 1 'SCAL' Z1; 149 : CDX1= XX - CX1 ; 150 : CDZ1= ZZ - CZ1 ; 151 : CDX2= XX - CX2 ; 152 : FAC = P / ( 2. * HH ) ; 153 : CHACOS2= 'COSH' (FAC * CDX2 ) ; 154 : CHASIN2= 'SINH' (FAC * CDX2 ) ; 155 : CHI2 = (BET * CHACOS2) + 156 : ((((BET ** 2) + 1.) ** 0.5) * CHASIN2 ) ; 157 : CHACOS1= 'COSH' (FAC * CDX1 ) ; 158 : CHASIN1= 'SINH' (FAC * CDX1 ) ; 159 : * 160 : * LA LIGNE SUIVANTE PLANTE 161 : * 162 : *CHI1 = ( 1. / FAC ) * ( 'SINH' ( FAC * CDX1 )) ; 163 : CHI1 = ( 1. / FAC ) * CHASIN1 ; 164 : LIM = 'MOTS' 'SCAL' ; 165 : CZ= ( 'PSCAL' CHI1 CHI2 LIM LIM ) - CDZ1 ; 166 : 'SI' ( IDIM 'EGA' 2 ) ; 167 : 'DEPLA' GEO1 'PLUS' ( 'NOMC' CZ UY ) ; 168 : 'SINON'; 169 : 'DEPLA' GEO1 'PLUS' ( 'NOMC' CZ UZ ) ; 170 : 'FINSI'; 171 : 'SI' IMP ; 172 : 'SI' ( IDIM 'EGA' 2 ); 173 : 'TRAC' GEO1; 174 : 'SINON'; 175 : 'TRAC' ( 1000 2000 3000 ) GEO1; 176 : 'FINSI'; 177 : 'MESS' ' NOUVELLE LONGUEUR ' ( 'MESU' GEO1); 178 : 'FINSI'; 179 : * 180 : * CALCUL DE LA TENSION 181 : * 182 : SHI2 = (BET * CHASIN2) + 183 : ((((BET ** 2) + 1.) ** 0.5) * CHACOS2 ) ; 184 : ZPRIM = ( 'PSCAL' CHACOS1 CHI2 LIM LIM ) + 185 : ( 'PSCAL' CHASIN1 SHI2 LIM LIM ) ; 186 : UNI = 'MANU' 'CHPO' GEO1 1 'SCAL' 1. ; 187 : TEN = HH * ( ( UNI + ( ZPRIM ** 2 ) ) ** 0.5 ) ; 188 : 'SI' IMP ; 189 : EV = 'EVOL' TURQ 'CHPO' TEN SCAL GEO1 ; 190 : 'DESS' EV ; 191 : 'FINSI'; 192 : * 193 : * CREATION DU MODELE ET CHAMELEM DE TENSION 194 : * 195 : MOD1 = 'MODEL' GEO1 'MECANIQUE' 'ELASTIQUE' BARR ; 196 : CHATEN = 'CHANGER' 'CHAM' ('NOMC' TEN 'EFFX') MOD1 197 : 'STRESSES' 'CONTRAINTES' ; 198 : 'RESPRO' GEO1 MOD1 CHATEN ; 199 : 'FINPROC' ;
© Cast3M 2003 - All rights reserved.
Disclaimer