Télécharger hauban.procedur

Retour à la liste

Numérotation des lignes :

  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' ;
  200.  

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