Télécharger @PRCA5.procedur

Retour à la liste

Numérotation des lignes :

  1. * @PRCA5 PROCEDUR MB234859 18/11/21 21:15:02 10007
  2. ***********************************************************************
  3. *
  4. * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT A DISPOSITION DES
  5. * UTILISATEURS PAR LE LTDS - Ecole Centrale Lyon (S. Fouvry et S.Garcin)
  6. *
  7. ***********************************************************************
  8. * PROCEDURE DE CALCUL @PRCA5
  9. *
  10. * Calcul de l'energie dissipee durant le cycle numerique (integration
  11. * du cycle de fretting), du volume use durant beta cycles numeriques
  12. * (integration du profil d'usure) et du nombre de cycles reels
  13. * equivalent (variable scalaire incrementee).
  14. *
  15. * Entrees :
  16. * T1 : Table de PASAPAS
  17. * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer
  18. *
  19. * Sortie :
  20. * T1 : Table de PASAPAS avec les booleens mis a jour
  21. *
  22. * Appelee par @EVN_MNG
  23. *
  24. ***********************************************************************
  25. DEBP @PRCA5 T1*'TABLE' ID_BU*'ENTIER';
  26.  
  27. BOITE_US = T1.'BOITES_USURES'. ID_BU ;
  28. NCNECC = BOITE_US.'NCNECC' ;
  29. BETA = BOITE_US.'FACTEUR_ACCELERATION' ;
  30.  
  31. SI ('EXIS' BOITE_US 'LISTE_NUMERO_CYCLE_NUMERIQUE') ;
  32. LstNCN = BOITE_US.'LISTE_NUMERO_CYCLE_NUMERIQUE' ;
  33. LstNCRE = BOITE_US.'LISTE_NOMBRE_CYCLES_REELS_EQUIVALENT' ;
  34. LstVolUs = BOITE_US.'LISTE_VOLUME_USE_CUMULE' ;
  35. LstVUsPC = BOITE_US.'LISTE_VOLUME_USE_PAR_CYCLE' ;
  36. LstEdPC = BOITE_US.'LISTE_ENERGIE_DISSIPEE_PAR_CYCLE_NUM' ;
  37. LstEdTot = BOITE_US.'LISTE_ENERGIE_DISSIPEE_TOTALE' ;
  38. NCRE = BOITE_US.'NOMBRE_CYCLES_REELS_EQUIVALENT' ;
  39. LstDltaG = BOITE_US.'LISTE_DELTA_G_ESTIMES' ;
  40. LstDltaT = BOITE_US.'LISTE_DELTA_T_ESTIMES' ;
  41. LstPrMax = BOITE_US.'LISTE_PRESSION_MAX' ;
  42. LstCiMax = BOITE_US.'LISTE_CISAILLEMENT_MAX' ;
  43. SINON ;
  44. LstNCN = PROG ;
  45. LstNCRE = PROG ;
  46. Lst0NCN = PROG 0 .;
  47. Lst0NCRE = PROG 0. ;
  48. LstVolUs = PROG 0. ;
  49. LstVUsPC = PROG ;
  50. LstEdPC = PROG ;
  51. LstEdTot = PROG 0. ;
  52. NCRE = 0. ;
  53. LstDltaG = PROG ;
  54. LstDltaT = PROG ;
  55. LstPrMax = PROG ;
  56. LstCiMax = PROG ;
  57. FINSI ;
  58.  
  59. EvNouvUs = BOITE_US.'EVO_USURE_APPLIQUEE' . NCNECC ;
  60. EvCumuUs = BOITE_US.'EVO_USURE_CUMULEE' . NCNECC ;
  61. CyclFret = BOITE_US.'CYCLE_DE_FRETTING' . NCNECC ;
  62. EvEnDCyc = BOITE_US.'EVO_ENERGIE_DISSIPEE_CYCLE' . NCNECC ;
  63. EvEnDTot = BOITE_US.'EVO_ENERGIE_DISSIPEE_TOTALE' ;
  64. LstIncCC = BOITE_US.'LISTE_INCREMENTS_DU_CYCLE'.NCNECC ;
  65. LstTpsCC = BOITE_US.'LISTE_TEMPS_DU_CYCLE'. NCNECC ;
  66. NbrIncCC = DIME LstIncCC ;
  67. PremIncr = MINI LstIncCC ;
  68. LstMPres = PROG ; LstMCisa = PROG ; LstMGlis = PROG ;
  69.  
  70. * Pression de contact moyenne et cisaillement moyen
  71. REPE BSICC NbrIncCC ;
  72. Inc_ii = PremIncr + &BSICC - 1 ;
  73. PrfPress = BOITE_US.'EVO_PRESSION_CONTACT' . Inc_ii ;
  74. PrfCisai = BOITE_US.'EVO_CISAILLEMENT_CONTACT' . Inc_ii ;
  75. PrfGliss = BOITE_US.'EVO_GLISSEMENT_CONTACT' . Inc_ii ;
  76.  
  77. OrdPress = EXTR PrfPress 'ORDO' ;
  78. OrdCisai = EXTR PrfCisai 'ORDO' ;
  79. OrdDCSli = EXTR PrfGliss 'ORDO' ;
  80. MaxPr_ii = MAXI OrdPress ; MaxCi_ii = MAXI (ABS OrdCisai) ;
  81. MaxDCSii = MAXI (ABS OrdDCSli) ;
  82. LstMPres = ET LstMPres MaxPr_ii ; LstMCisa = ET LstMCisa MaxCi_ii ;
  83. LstMGlis = ET LstMGlis MaxDCSii ;
  84. SI (&BSICC EGA 1);
  85. PressCum = EXTR PrfPress 'ORDO' ;
  86. CisaiCum = EXTR PrfCisai 'ORDO' ;
  87. SINON ;
  88. PressCum = PressCum + (EXTR PrfPress 'ORDO') ;
  89. CisaiCum = CisaiCum + (EXTR PrfCisai 'ORDO') ;
  90. FINSI ;
  91. FIN BSICC ;
  92.  
  93. MaxPress = MAXI LstMPres ; MaxCisai = MAXI LstMCisa ;
  94. yPresMoy = PressCum / NbrIncCC ;
  95. yCisaMoy = CisaiCum / NbrIncCC ;
  96. xAbsc = EXTR PrfPress 'ABSC' ;
  97. PressMoy = EVOL 'MANU' 'Absc' xAbsc 'Press. Contact' yPresMoy ;
  98. CisaiMoy = EVOL 'MANU' 'Absc' xAbsc 'Cisai. Contact' yCisaMoy ;
  99. BOITE_US.'EVO_PRESSION_MOYENNE_SUR_CYCLE' . NCNECC = PressMoy ;
  100. BOITE_US.'EVO_CISAILLEMENT_MOYEN_SUR_CYCLE' . NCNECC = CisaiMoy ;
  101.  
  102. * Energie dissipee sur le cycle
  103. ECycFret = INTG CyclFret ;
  104. F_N_CyFr = EXTR CyclFret 'ORDO';
  105. Ampl_F_N = (MAXI F_N_CyFr) - (MINI F_N_CyFr) ;
  106. DltG_Est = ECycFret / 2. / Ampl_F_N ;
  107. LstDltaG = ET LstDltaG DltG_Est ;
  108. *
  109. Dlt_CyFr = EXTR CyclFret 'ABSC';
  110. Ampl_Dlt = (MAXI Dlt_CyFr) - (MINI Dlt_CyFr) ;
  111. DltT_Est = (Ampl_Dlt / 2.) - DltG_Est ;
  112. LstDltaT = ET LstDltaT DltT_Est ;
  113.  
  114. * Numero du cycle calcule
  115. LstNCN = ET LstNCN NCNECC ;
  116. Lst0NCN = 0 ET LstNCN ;
  117. *
  118. * Nombre de Cycle Reel Equivalent
  119. NCRE = NCRE + BETA ;
  120. LstNCRE = ET LstNCRE NCRE ;
  121. *
  122. Lst0NCRE = 0 ET LstNCRE ;
  123. *
  124. * Energie dissipee sur le cycle
  125. EdSurCyc = INTG EvEnDCyc ;
  126. LstEdPC = ET LstEdPC EdSurCyc ;
  127. *
  128. * Energie dissipee totale
  129. EdTotale = INTG EvEnDTot ;
  130. LstEdTot = ET LstEdTot EdTotale ;
  131. *
  132. * Volume use total
  133. VolUsTot = INTG EvCumuUs ;
  134. LstVolUs = ET LstVolUs VolUsTot ;
  135. *
  136. * Volume use pendant le cycle
  137. VolUsCyc = INTG EvNouvUs ;
  138. LstVUsPC = ET LstVUsPC VolUsCyc ;
  139. *
  140. LstPrMax = ET LstPrMax MaxPress ;
  141. LstCiMax = ET LstCiMax MaxCisai ;
  142.  
  143. * Creation d'Evolution
  144. TxtNCRE = 'Nb. Cyc. Reels' ; TxtNCN = 'Cyc. Num.' ;
  145. * Energie dissipee par cycle numerique
  146. EvEdByCN = EVOL 'MANU' 'LEGE' 'En Dis Par Cyc. Num.' TxtNCN LstNCN
  147. 'Ener. Diss. /Cycl.' LstEdPC ;
  148. * Energie equivalente dissipee totale
  149. EvEnDisT = EVOL 'MANU' TxtNCRE Lst0NCRE 'Ener. Diss. Totale' LstEdTot;
  150. EvEnDisC = EVOL 'MANU' TxtNCRE LstNCRE 'Ener. Diss. / Cyc' LstEdPC ;
  151. EvVUsCRE = EVOL 'MANU' TxtNCRE Lst0NCRE 'Vol. Use Cumule' LstVolUs;
  152. EvVUsEdT = EVOL 'MANU' 'En. Diss. Totale' LstEdTot
  153. 'Vol. Use Cumule' LstVolUs ;
  154. TxtDG = 'Delta G (mm)' ; TxtDT = 'Delta T (mm)' ;
  155. EvDtGCRE = EVOL 'BLEU' 'MANU' TxtNCRE LstNCRE TxtDG LstDltaG ;
  156. EvDltGCN = EVOL 'VERT' 'MANU' TxtNCN LstNCN TxtDG LstDltaG ;
  157. EvDtTCRE = EVOL 'ROUG' 'MANU' TxtNCRE LstNCRE TxtDT LstDltaT ;
  158. EvDltTCN = EVOL 'ORAN' 'MANU' TxtNCN LstNCN TxtDT LstDltaT ;
  159. EvMaxPre = EVOL 'VERT' 'MANU' TxtNCN LstNCN 'Pression Max' LstPrMax ;
  160. EvMaxCis = EVOL 'ROUG' 'MANU' TxtNCN LstNCN 'Cisaill. Max' LstCiMax ;
  161. EvMaxDCS = EVOL 'BLEU' 'MANU' 'Tps cycle' LstTpsCC
  162. 'Max Gliss.' LstMGlis ;
  163.  
  164. * Stockage des resultats
  165. BOITE_US.'LISTE_NUMERO_CYCLE_NUMERIQUE' = LstNCN ;
  166. BOITE_US.'LISTE_NOMBRE_CYCLES_REELS_EQUIVALENT' = LstNCRE ;
  167. BOITE_US.'LISTE_VOLUME_USE_CUMULE' = LstVolUs ;
  168. BOITE_US.'LISTE_VOLUME_USE_PAR_CYCLE' = LstVUsPC ;
  169. BOITE_US.'LISTE_ENERGIE_DISSIPEE_PAR_CYCLE_NUM' = LstEdPC ;
  170. BOITE_US.'LISTE_ENERGIE_DISSIPEE_TOTALE' = LstEdTot ;
  171. BOITE_US.'NOMBRE_CYCLES_REELS_EQUIVALENT' = NCRE ;
  172. BOITE_US.'LISTE_DELTA_G_ESTIMES' = LstDltaG ;
  173. BOITE_US.'LISTE_DELTA_T_ESTIMES' = LstDltaT ;
  174. BOITE_US.'LISTE_PRESSION_MAX' = LstPrMax ;
  175. BOITE_US.'LISTE_CISAILLEMENT_MAX' = LstCiMax ;
  176.  
  177. BOITE_US.'EVO_ENERGIE_DISS_PAR_CYCLE_NUM' = EvEdByCN ;
  178. BOITE_US.'EVO_ENERGIE_DISS_TOTALE' = EvEnDisT ;
  179. BOITE_US.'EVO_ENERGIE_DISS_PAR_CYCLE' = EvEnDisC ;
  180. BOITE_US.'EVO_VOLUME_USE_TOTAL_VS_CYCLES_REELS_EQUIV' = EvVUsCRE ;
  181. BOITE_US.'EVO_VOLUME_USE_TOTAL_VS_ENERGIE_DISS_TOTALE' = EvVUsEdT ;
  182. BOITE_US.'EVO_DELTA_G_ESTIMES_VS_CYCLES_REELS_EQUIV' = EvDtGCRE ;
  183. BOITE_US.'EVO_DELTA_G_ESTIMES_VS_CYCLES_NUMS' = EvDltGCN ;
  184. BOITE_US.'EVO_DELTA_T_ESTIMES_VS_CYCLES_REELS_EQUIV' = EvDtTCRE ;
  185. BOITE_US.'EVO_DELTA_T_ESTIMES_VS_CYCLES_NUMS' = EvDltTCN ;
  186. BOITE_US.'EVO_PRESSION_MAX_VS_CYCLES_NUMS' = EvMaxPre ;
  187. BOITE_US.'EVO_CISAILLEMENT_MAX_VS_CYCLES_NUMS' = EvMaxCis ;
  188. BOITE_US.'EVO_AIRE_DE_CONTAC_VS_CYCLES_NUMS' = EvCoArea ;
  189.  
  190. * Enregistrement Donnees cycliques
  191. BOITE_US.'EVO_MAX_DCSLIP_VS_TEMPS_DU_CYCLE'. NCNECC = EvMaxDCS;
  192.  
  193. FINP T1 ;
  194.  
  195.  
  196.  

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