Télécharger @lisse.procedur

Retour à la liste

Numérotation des lignes :

  1. * @LISSE PROCEDUR CB215821 15/12/02 21:15:02 8719
  2. ************************************************************************
  3. ************************************************************************
  4. *-----------------------------------------------------------------------
  5. *
  6. * PROCEDURE LISSE MLN/CERN JANVIER 91
  7. *
  8. *
  9. * LISSAGE D'UNE EVOLUTION PAR LA METHODE D'ENERGIE MINIMUM DE
  10. * DEFORMATION
  11. *
  12. *-----------------------------------------------------------------------
  13. *
  14. * ENTREE
  15. *
  16. *
  17. * EVO_1 Evolution a lisser
  18. *
  19. * FLO_1 Angle a l'origine en degre (flottant)
  20. * ( -45 < FLO1 < 45 )
  21. * FLO-2 Angle a l'extremite en degre (flottant)
  22. * ( -45 < FLO2 < 45 )
  23. *
  24. * ENT_1 Nombre de points sur la courbe
  25. *
  26. * ENT_2 1 : la latte est sur l'abcisse
  27. * 2 : la latte est sur l'ordonnee
  28. *
  29. *-----------------------------------------------------------------------
  30. *
  31. * SORTIE
  32. *
  33. * EVO_2 Evolution lissee
  34. *
  35. *
  36. *-----------------------------------------------------------------------
  37. 'DEBP' @LISSE EVO_1*'EVOLUTION' FLO_1*'FLOTTANT' FLO_2*'FLOTTANT'
  38. ENT_1*'ENTIER' ENT_2*'ENTIER' ;
  39. 'TITRE' ' LISSAGE EVOLUTION' ;
  40. 'OPTI' 'DIME' 3 'ELEM' 'SEG2' 'MODE' 'TRIDIM' ;
  41. EVO_1Y = 'EXTR' EVO_1 'ABSC' ;
  42. EVO_1Z = 'EXTR' EVO_1 'ORDO' ;
  43. NBP = 'DIME' EVO_1Y ;
  44. I = 0 ;
  45. PY = 'TABLE' ;
  46. PZ = 'TABLE' ;
  47. PP = 'TABLE' ;
  48. BLO = 'TABLE' ;
  49. DIP = 'TABLE' ;
  50. *
  51. * la latte est sur l'abcisse
  52. *
  53. 'SI' ('EGA' ENT_2 1) ;
  54. *
  55. 'REPE' BOU_1 NBP ;
  56. I = I + 1 ;
  57. PY.I = ('EXTR' EVO_1Y I) ;
  58. PZ.I = ('EXTR' EVO_1Z I) ;
  59. PPF = 'EXTR' EVO_1Y NBP ;
  60. PPI = 'EXTR' EVO_1Y 1 ;
  61. PPP = PPF - PPI ;
  62. NELT = ENT_1 - 1 ;
  63. DEN1 = PPP / NELT ;
  64. 'DENS' DEN1 ;
  65. PP.I = (0. PY.I 0.) ;
  66. 'SI' ('EGA' 2 I) ;
  67. MAI_1 = PP.(I - 1) 'DROI' PP.I ;
  68. 'FINSI' ;
  69. 'SI' (I > 2) ;
  70. 'SI' ('EGA' PY.I PPF) ;
  71. NEL1 = 'NBEL' MAI_1 ;
  72. NEL2 = NELT - NEL1 ;
  73. MAI_1 = MAI_1 'DROI' NEL2 PP.I ;
  74. 'SINON' ;
  75. MAI_1 = MAI_1 'DROI' PP.I ;
  76. 'FINSI' ;
  77. 'FINSI' ;
  78. BLO.I = 'BLOQ' 'UZ' PP.I ;
  79. DIP.I = 'DEPI' BLO.I PZ.I ;
  80. 'FIN' BOU_1 ;
  81. BLOX = 'BLOQ' 'UX' 'UY' PP.1 ;
  82. BLOY = @STBL BLO ;
  83. BLOYZ = 'BLOQ' 'RY' 'RZ' PP.1 ;
  84. DIPY = @STBL DIP ;
  85. 'SI' ((FLO_1 &lt;EG 45.) 'ET' (FLO_2 &lt;EG 45.)) ;
  86. ANG1 = FLO_1 * (PI / 180.) ;
  87. BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ;
  88. DIPR1 = 'DEPI' BLOR1 ANG1 ;
  89. ANG2 = FLO_2 * (PI / 180.) ;
  90. BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ;
  91. DIPR2 = 'DEPI' BLOR2 ANG2 ;
  92. BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOR2 'ET' BLOYZ ;
  93. DIPT = DIPY 'ET' DIPR1 'ET' DIPR2 ;
  94. 'FINSI' ;
  95. 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 > 45.)) ;
  96. BLOT = BLOX 'ET' BLOY 'ET' BLOYZ ;
  97. DIPT = DIPY ;
  98. 'FINSI' ;
  99. 'SI' ((FLO_1 &lt;EG 45.) 'ET' (FLO_2 > 45.)) ;
  100. ANG1 = FLO_1 * (PI / 180.) ;
  101. BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ;
  102. DIPR1 = 'DEPI' BLOR1 ANG1 ;
  103. BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOYZ ;
  104. DIPT = DIPY 'ET' DIPR1 ;
  105. 'FINSI' ;
  106. 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 &lt;EG 45.)) ;
  107. ANG2 = FLO_2 * (PI / 180.) ;
  108. BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ;
  109. DIPR2 = 'DEPI' BLOR2 ANG2 ;
  110. BLOT = BLOX 'ET' BLOY 'ET' BLOR2 'ET' BLOYZ ;
  111. DIPT = DIPY 'ET' DIPR2 ;
  112. 'FINSI' ;
  113. *
  114. 'FINSI' ;
  115. *
  116. * la latte est sur l'ordonnee
  117. *
  118. 'SI' ('EGA' ENT_2 2) ;
  119. *
  120. 'REPE' BOU_1 NBP ;
  121. I = I + 1 ;
  122. PY.I = ('EXTR' EVO_1Y I) ;
  123. PZ.I = ('EXTR' EVO_1Z I) ;
  124. PPF = 'EXTR' EVO_1Z NBP ;
  125. PPI = 'EXTR' EVO_1Z 1 ;
  126. PPP = PPF - PPI ;
  127. NELT = ENT_1 - 1 ;
  128. DEN1 = PPP / NELT ;
  129. 'DENS' DEN1 ;
  130. PP.I = (0. 0. PZ.I) ;
  131. 'SI' ('EGA' 2 I) ;
  132. MAI_1 = PP.(I - 1) 'DROI' PP.I ;
  133. 'FINSI' ;
  134. 'SI' (I > 2) ;
  135. 'SI' ('EGA' PZ.I PPF) ;
  136. NEL1 = 'NBEL' MAI_1 ;
  137. NEL2 = NELT - NEL1 ;
  138. MAI_1 = MAI_1 'DROI' NEL2 PP.I ;
  139. 'SINON' ;
  140. MAI_1 = MAI_1 'DROI' PP.I ;
  141. 'FINSI' ;
  142. 'FINSI' ;
  143. BLO.I = 'BLOQ' 'UY' PP.I ;
  144. DIP.I = 'DEPI' BLO.I PY.I ;
  145. 'FIN' BOU_1 ;
  146. 'TASS' MAI_1 ;
  147. BLOX = 'BLOQ' 'UX' 'UZ' PP.1 ;
  148. BLOY = @STBL BLO ;
  149. BLOYZ = 'BLOQ' 'RY' 'RZ' PP.1 ;
  150. DIPY = @STBL DIP ;
  151. 'SI' ((FLO_1 &lt;EG 45.) 'ET' (FLO_2 &lt;EG 45.)) ;
  152. ANG1 = FLO_1 * (PI / 180.) ;
  153. BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ;
  154. DIPR1 = 'DEPI' BLOR1 ANG1 ;
  155. ANG2 = FLO_2 * (PI / 180.) ;
  156. BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ;
  157. DIPR2 = 'DEPI' BLOR2 ANG2 ;
  158. BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOR2 'ET' BLOYZ ;
  159. DIPT = DIPY 'ET' DIPR1 'ET' DIPR2 ;
  160. 'FINSI' ;
  161. 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 > 45.)) ;
  162. BLOT = BLOX 'ET' BLOY 'ET' BLOYZ ;
  163. DIPT = DIPY ;
  164. 'FINSI' ;
  165. 'SI' ((FLO_1 &lt;EG 45.) 'ET' (FLO_2 > 45.)) ;
  166. ANG1 = FLO_1 * (PI / 180.) ;
  167. BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ;
  168. DIPR1 = 'DEPI' BLOR1 ANG1 ;
  169. BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOYZ ;
  170. DIPT = DIPY 'ET' DIPR1 ;
  171. 'FINSI' ;
  172. 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 &lt;EG 45.)) ;
  173. ANG2 = FLO_2 * (PI / 180.) ;
  174. BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ;
  175. DIPR2 = 'DEPI' BLOR2 ANG2 ;
  176. BLOT = BLOX 'ET' BLOY 'ET' BLOR2 'ET' BLOYZ ;
  177. DIPT = DIPY 'ET' DIPR2 ;
  178. 'FINSI' ;
  179. *
  180. 'FINSI' ;
  181. *
  182. NNN = NBNO MAI_1 ;
  183. 'MESS' NNN ;
  184. ME = 'TEXT' 'MECANIQUE ELASTIQUE' ;
  185. AFF1 = 'MODE' MAI_1 ME 'POUTRE' ;
  186. MAT1 = 'MATE' AFF1 'YOUN' 1. 'NU' .25 ;
  187. CAR1 = 'CARA' AFF1 'SECT' 1. 'INRY' 1. 'INRZ' 1. 'TORS' 2. ;
  188. RIG1 = 'RIGI' AFF1 (MAT1 ET CAR1) ;
  189. RIGT = RIG1 ET BLOT ;
  190. DEP1 = 'RESO' RIGT DIPT ;
  191. DEF0 = MAI_1 'PLUS' DEP1 ;
  192. I = 0 ;
  193. NBP1 = 'NBNO' DEF0 ;
  194. 'REPE' BOU_2 NBP1 ;
  195. I = I + 1 ;
  196. 'SI' ('EGA' I 1) ;
  197. LIY = 'PROG' ('COOR' 2 (DEF0 'POIN' I)) ;
  198. LIZ = 'PROG' ('COOR' 3 (DEF0 'POIN' I)) ;
  199. 'SINON' ;
  200. LIY = LIY 'ET' ('PROG' ('COOR' 2 (DEF0 'POIN' I))) ;
  201. LIZ = LIZ 'ET' ('PROG' ('COOR' 3 (DEF0 'POIN' I))) ;
  202. 'FINSI' ;
  203. 'FIN' BOU_2 ;
  204. EVO_2 = 'EVOL' 'ROUGE' 'MANU' LIY LIZ ;
  205. DESSIN (EVO_1 ET EVO_2) ;
  206. *
  207. 'FINPROC' EVO_2 ;
  208.  

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