Télécharger flambage.procedur

Retour à la liste

Numérotation des lignes :

  1. * FLAMBAGE PROCEDUR CB215821 15/12/02 21:15:07 8719
  2. DEBPROC FLAMBAGE ETAB11*TABLE ;
  3. * CETTE PROCEDURE EFFECTUE UN CALCUL DE FLAMBAGE
  4. *
  5. * EN ENTREE :
  6. * ---------
  7. * ETAB TABLE CONTENANT :
  8. * INDICE 'OBJM' : OBJET MODELE
  9. * INDICE 'SIG0' : CHAMP CONSTANT DE CONTRAINTES
  10. * INDICE 'SIG1' : CONTRAINTE DONT ON CHERCHE LE
  11. * COEFFICIENT MULTIPLICATEUR
  12. * INDICE 'RIGI' : MATRICE DE RAIDEUR
  13. * INDICE 'KSIG' : MATRICE DE RIGIDITE GEOMETRIQUE
  14. * INDICE 'LAM1' : COEFFICIENT MINI
  15. * INDICE 'LAM2' : COEFFICIENT MAXI
  16. * INDICE 'NMOD' : NOMBRE DE MODES AZIMUTAL
  17. * INDICE 'MODE' : LISTE DES MODES DE FOURIER
  18. * INDICE 'MATE' : MATERIAU
  19. * INDICE 'CARA' : CARACTERISTIQUES
  20. * INDICE 'CLIM' : CONDITIONS LIMITES
  21. * INDICE 'PLAS' : SI FLAMBAGE PLASTIQUE
  22. * INDICE 'MATP' : MATERIAU PLASTIQUE
  23. *
  24. * EN SORTIE :
  25. * ---------
  26. * STAB11 TABLE CONTENANT AUTANT DE TABLES QUE DE MODES
  27. * DE SORTIE
  28. * INDICE N : NUMERO DU MODE
  29. *
  30. * LA TABLE STAB11 N CONTIENT :
  31. * INDICE 'LAMB' : COEFFICIENT MULTIPLICATEUR
  32. * INDICE 'DEPL' : LE DEPLACEMENT MODAL ( MAXI 1)
  33. * INDICE 'MODN' : LE MODE DE FOURIER
  34. * INDICE 'MODM' : LE MODE AZIMUTHAL
  35. *
  36. *---------------------------------------------------------------------
  37. *
  38. *
  39. *----------------------------------------------------------------------
  40. * ON RECUPERE L'INFORMATION
  41. *------------------------------
  42. *
  43. IERR = 0;
  44. * VERIF DE DONNEES
  45. NBMOD = 1; IFOURI= 0;
  46. 'SI' ('EXISTE' ETAB11 'MODE' ) ;
  47. IFOURI =1;
  48. LMOD = ETAB11.'MODE' ;
  49. NBMOD = 'DIME' LMOD ;
  50. 'FINSI';
  51. *
  52. 'SI' ('EXISTE' ETAB11 'OBJM');
  53. OBJMOD = ETAB11.'OBJM' ;
  54. 'SINON'; 'MESSAGE' ' ****ERREUR IL FAUT DONNER L OBJET MODELE ';
  55. 'FINSI';
  56. *
  57. IKSIG=0;
  58. 'SI' ('EXISTE' ETAB11 'SIG1');
  59. SIG10= 'COPIER' ETAB11.'SIG1' ;
  60. SIG11 = -1. * SIG10; 'DETR' SIG10;
  61. 'SINON' ;'SI' ( IFOURI 'EGA' 1) ;
  62. IERR = 1 ; 'MESSAGE' ' ***** ERREUR IL FAUT DONNER SIG1 '; 'SINON';
  63. 'SI' ('EXISTE' ETAB11 'KSIG'); IKSIG=1; KSII0 = ETAB11.'KSIG';
  64. KSIG1 = -1. * KSII0 ; 'SINON';
  65. 'MESSAGE' ' ***** ERREUR IL FAUT DONNER KSIG OU SIG1';
  66. IERR = 1;
  67. 'FINSI';
  68. 'FINSI';
  69. 'FINSI';
  70. 'SI' ('EXISTE' ETAB11 'CLIM');
  71. KLIM = ETAB11.'CLIM' ;
  72. 'SINON';
  73. 'MESSAGE' ' **** VOUS N AVEZ PAS DONNE DE CONDITIONS LIMITES ';
  74. 'FINSI';
  75. IRIGN = 0;
  76. 'SI' ( 'EXISTE' ETAB11 'MATE');
  77. MAT1 = ETAB11.'MATE' ;
  78. 'SINON'; 'SI' ( IFOURI 'EGA' 1); IERR = 1;
  79. 'MESSAGE' ' ****** ERREUR IL FAUT DONNER MATE'; 'SINON';
  80. 'SI' ( 'EXISTE' ETAB11 'RIGI' ) ; IRIGN =1;
  81. RIGN = ETAB11.'RIGI' ;
  82. 'SINON'; IERR = 1;
  83. 'MESSAGE' ' ***** ERREUR IL FAUT DONNER MATE OU RIGI';
  84. 'FINSI';
  85. 'FINSI';
  86. 'FINSI';
  87. ICARA = 0;
  88. CAR1 = 'TEXTE' ' ' ;
  89. 'SI' ( 'EXISTE' ETAB11 'CARA');
  90. ICARA = 1;
  91. CAR1 = ETAB11.'CARA';
  92. 'FINSI';
  93. X1 = 1.E30;
  94. 'SI' ( 'EXISTE' ETAB11 'LAM2');
  95. X1 = ETAB11.'LAM2' ;
  96. 'FINSI' ;
  97. X0 = 0.;
  98. 'SI' ( 'EXISTE' ETAB11 'LAM1');
  99. X0 = ETAB11.'LAM1' ;
  100. 'FINSI' ;
  101. NMO = 1;'SI' ('EXISTE' ETAB11 'NMOD') ;
  102. NMO = ETAB11.'NMOD'; 'FINSI';
  103. MATN = MAT1;
  104. *
  105. * LISTE DES MODES DE FOURIER
  106. *
  107. IFLPLA= 0;
  108. 'SI' ('EXISTE' ETAB11 'PLAS' ) ;
  109. IFLPLA = 1;
  110. 'SI' ('EXISTE' ETAB11 'MATP' );
  111. MATN = ETAB11.'MATP';
  112. 'SINON';
  113. IERR = 1;
  114. 'MESSAGE' ' ***** IL FAUT DONNER LE MATERIAU PLASTIQUE ' ;
  115. 'FINSI';
  116. 'FINSI';
  117. 'SI'(IERR 'EGA' 0 ) ;
  118. *
  119. *--------------------------------------------
  120. * INITIALISATIONS
  121. *--------------------------------------------
  122. XX = 2. * PI ;
  123. *
  124. *--------------------------------------------
  125. * CALCUL DES FREQUENCES A PARTIR DES COEFFICIENTS MULTIPLICATEURS
  126. *--------------------------------------------
  127. XX0 = X0 ** .5 ; XX1 = X1 ** .5;
  128. XX0= XX0 / XX ; XX1 = XX1 / XX ;
  129. *
  130. *---------------------------------------------
  131. * BOUCLE SUR LES MODES DE FOURIER
  132. *---------------------------------------------
  133. *
  134. TAMON = 'TABLE';
  135. TAMOM = 'TABLE';
  136. TACOE = 'TABLE';
  137. TAPERM = 'TABLE';
  138. STAB11 = 'TABLE' ;
  139. II = 0 ;
  140. IK = 0 ;
  141. MODMIN= -10;
  142. COEMIN=1.E30;
  143. *
  144. * STAB11 EST UNE TABLE DE TABLES INDICEE PAR LE NUMERO DU MODE SORTI
  145. *
  146. IFOU=0 ;
  147. 'REPETER' BOUCFOU;
  148. IFOU = IFOU + 1 ;
  149. 'SI' ( IFOU > NBMOD) ;
  150. 'QUITTER' BOUCFOU;
  151. 'FINSI' ;
  152. N = 0;
  153. 'SI' (IFOURI 'EGA' 1) ;
  154. N = 'EXTR' LMOD IFOU;
  155. 'OPTION' 'MODE' 'FOUR' N ;
  156. 'FINSI';
  157. 'SI' (IRIGN 'EGA' 0) ; 'SI' (ICARA 'EGA' 1) ;MATN1=MATN 'ET' CAR1;
  158. 'SINON' ;MATN1=MATN ;'FINSI' ; RIGN = 'RIGI' OBJMOD MATN1;'FINSI';
  159. TST = 'EXISTE' ETAB11 'SIG0';
  160. 'SI' ( TST ) ;
  161. SIG10 = ETAB11.'SIG0';
  162. KSIG0 = 'KSIGMA' OBJMOD SIG10 CAR1 FLAM ;
  163. RIGN = RIGN 'ET' KSIG0 ;
  164. 'FINSI' ;
  165. 'SI' (IKSIG 'EGA' 0 ) ; KSIG1 = 'KSIG' OBJMOD SIG11 CAR1 FLAM ;
  166. 'FINSI';
  167. 'SI' ( 'EXISTE' ETAB11 'CLIM' ) ; RIGP = RIGN 'ET' KLIM;
  168. 'SINON';RIGP = RIGN ;
  169. 'FINSI';
  170. *------------------------------------------------------------
  171. * CALCUL DES FREQUENCES
  172. *-----------------------------------------------------------
  173. XMOD = 'VIBR' 'INTERVALLE' XX0 XX1 'BASSE' NMO RIGP KSIG1 ;
  174. *-----------------------------------------------------------
  175. * COMBIEN A T ON DE MODES
  176. *-------------------------------------------------------
  177. NMOCAL = 'DIMENSION' XMOD;
  178. 'SI' (NMOCAL 'EGA' 0);
  179. 'MESS' ' IL N''Y A PAS DE FREQUENCE DANS L''INTERVALLE CHOISI';
  180. 'MESS' ' POUR LE MODE DE FOURIER ' N ;
  181. 'SINON';
  182. *------------------------------
  183. * EXTRACTION DES MODES
  184. *------------------------------
  185. NMOO = NMO;
  186. 'SI' ( NMOCAL < NMOO ) ;
  187. 'MESS' ' ***** IL N Y A QUE ' NMOCAL ' MODES DE FLAMBAGE ENTRE ' X0
  188. ' ET ' X1 ;
  189. NMOO= NMOCAL;
  190. 'FINSI';
  191. JJ = 0;
  192. 'REPETER' BOUCMO;
  193. JJ = JJ + 1;
  194. 'SI' ( JJ > NMOO) ;
  195. 'QUITTER' BOUCMO;
  196. 'FINSI';
  197. II = II + 1;
  198. FF = 'TIRE' XMOD 'FREQ' RANG JJ ;
  199. DD = 'TIRE' XMOD 'DEPL' RANG JJ ;
  200. XMUL = XX * FF; XMUL = XMUL * XMUL ;
  201. TAMON.II = N ;
  202. TAMOM.II = JJ ;
  203. TACOE.II = XMUL;
  204. *
  205. ****** RECHERCHE DU MODE A COEFFICIENT MINI
  206. *
  207. 'SI'(IFOURI 'EGA' 1 ) ;
  208. 'SI'( XMUL < COEMIN ) ;
  209. MODMIN = N ;
  210. COEMIN = XMUL;
  211. 'FINS';
  212. 'FINSI';
  213. *
  214. *--------------------------------------
  215. * ARCHIVAGE DES RESULTATS SI BESOIN
  216. *--------------------------------------
  217. STN = 'TABLE';
  218. STN.'LAMB' = XMUL;
  219. STN.'DEPL' = DD;
  220. STN.'MODN' = N ;
  221. STN.'MODM' = JJ ;
  222. IK = IK + 1;
  223. STAB11.IK = 'TABLE' STN ;
  224. 'FIN' BOUCMO;
  225. 'SI' ( IKSIG 'EGA' 0) ;'DETR' KSIG1 'ELEM';'FINSI';
  226. 'SI'(IRIGN 'EGA' 0 ) ; 'DETR' RIGN 'ELEM'; 'FINSI';
  227. 'FINSI';
  228. 'FIN' BOUCFOU;
  229. *
  230. ********** RANGEMENT PAR ORDRE CROISSANT
  231. *
  232. * TAPERM.1 = 1;
  233. * SI ( II > 1);
  234. *KK = 0;
  235. *REPETER BOUCPER;
  236. * KK = KK + 1;
  237. *SI(KK > II ) ; QUITTER BOUCPER; FINSI;
  238. *XMU = TACOE.KK ;
  239. *III = 0; KKK = 0;
  240. *REPETER BOUCIN;
  241. *III = III + 1; SI (III > II) ; QUITTER BOUCIN; FINSI;
  242. *XMU1 = TACOE.III;
  243. *SI( XMU >EG XMU1); KKK = KKK + 1; FINSI;
  244. *FIN BOUCIN;
  245. *TAPERM.KK = KKK;
  246. *FIN BOUCPER;
  247. * FINSI;
  248. *
  249. * IMPRESSSION DES RESULTATS
  250. 'MESS' ' ***********************************************************';
  251. 'MESS' ' * MODE FOURIER * MODE M * COEFFICIENT MULTIPLICATEUR *';
  252. 'MESS' ' ***********************************************************';
  253. KK = 0;
  254. 'REPETER' BOUC;
  255. KK = KK + 1;
  256. 'SI' (KK > II ) ; 'QUITTER' BOUC ; 'FINSI' ;
  257. * KKK = TAPERM.KK;
  258. KKK = KK ;
  259. N = TAMON.KKK;
  260. XMUL = TACOE.KKK;
  261. JJ = TAMOM.KKK;
  262. 'MESSAGE' ' * ' N ' * ' JJ '* ' XMUL ' *';
  263. 'FIN' BOUC;
  264. 'MESS' ' ***********************************************************';
  265. 'SI' ( IFOURI 'EGA' 1) ;
  266. MESSAGE ' ';
  267. MESSAGE ' ';
  268. 'MESS' ' ***** COEFFICIENT MULTIPLICATEUR MINI ' COEMIN ;
  269. 'MESS' ' SUR LE MODE DE FOURIER ' MODMIN ;
  270. 'FINSI';
  271. 'FINSI';
  272. *----------------------------------------------------------------------
  273. * SORTIE DE LA PROCEDURE
  274. *----------------------------------------------------------------------
  275. 'FINPROC' STAB11 ;
  276.  
  277.  
  278.  

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