$$$$ USPROF * USPROF PROCEDUR MB234859 24/01/09 21:15:33 11816 ************************************************************************ * PROCEDURE USPROF * * Procedure qui calcule le profil d usure a appliquer en chaque point * de la surface a user. En notant phi la densite d'energie dissipee, * on a pour chaque point x de la surface a user : * * h(x) = alpha * phi(x) * * Un facteur d'acceleration est determine * * Entrees : * T1 : Table de PASAPAS * * Sortie : * T1 : Table de PASAPAS contenant les champs calcules * * Appelee par USURE * ************************************************************************ DEBP USPROF T1*'TABLE' ; * *----------------------------------------------------------------------* * - PROFIL D'USURE POUR LE CYCLE CALCULE * *----------------------------------------------------------------------* BOITE_US = T1.'BOITES_USURE' ; NbCycRe = BOITE_US.'INFOS'.'NB_CYCLES_RESTANTS' ; * ListAcce = 'LECT' ; TPROF = 'TABL' ; 'REPE' BU (BOITE_US.'DONNEES'.'N_BOITES') ; * ALPHA = BOITE_US. &BU .'COEFFICIENT_USURE' ; EnerDiss = BOITE_US. &BU .'DENS_ENER_DISS_CYCLE' ; ProfUsee = ALPHA * EnerDiss ; hmaxcyc = 'MAXI' ('ABS' ProfUsee) ; TPROF. &BU = ProfUsee ; * * Facteur d'acceleration ** hmax = (BOITE_US. &BU .'LELT') * (sin 1) ; *** hmax = (BOITE_US. &BU .'LELT') * (tan 5.) ; *** MESS 'HMAX ESTIME ' ; LIST hmax ; *** MESS 'HCYCLE ' ; LIST hmaxcyc ; *** FactAcce = 'ENTI' 'PROC' (hmax / hmaxcyc) ; *** ListAcce = ListAcce 'ET' FactAcce ; 'FIN' BU ; * *----------------------------------------------------------------------* * - FACTEUR D'ACCELERATION ET NOMBRE DE CYCLES RESTANTS A CALCULER * *----------------------------------------------------------------------* FactAcce = 'MINI' ListAcce ; FactAcce = BOITE_US.'DONNEES'.'ACCELERATION' ; * FactAcce = 'ENTI' ('IPOL' (BOITE_US.'DONNEES'.'ACCELERATION') NbCycRe); 'SI' ('EGA' FactAcce 0) ; FactAcce = 1 ; 'FINSI' ; 'SI' ('<' (NbCycRe-FactAcce) 0) ; FactAcce = NbCycRe ; 'FINSI' ; BOITE_US.'POST'.'FACTEUR_ACCELERATION' = (BOITE_US.'POST'.'FACTEUR_ACCELERATION') 'ET' FactAcce ; BOITE_US.'INFOS'.'NB_CYCLES_RESTANTS' = NbCycRe-FactAcce ; * *----------------------------------------------------------------------* * - PROFIL D'USURE A APPLIQUER * *----------------------------------------------------------------------* 'REPE' BU (BOITE_US.'DONNEES'.'N_BOITES') ; UsureNew = FactAcce * (TPROF. &BU) ; MESS ' HMAX APPL ' ; LIST (MAXI (ABS UsureNew)) ; UsureNew = 'CHAN' 'COMP' UsureNew 'SCAL' ; * UsureTot = BOITE_US. &BU .'USURE_TOTALE' ; UsureTot = UsureTot + UsureNew ; * 'SI' (BOITE_US.'INFOS'.'ITRID') ; 'SINON' ; SUR_APPL = BOITE_US. &BU .'SURFACE_APPLICATION' ; EvUsureT = 'EVOL' 'TURQ' 'CHPO' UsureTot SUR_APPL ; EvUsureT = 'EXTR' EvUsureT 'COUR' 1 ; EvUsureT = 'CHAN' EvUsureT 'LEGE' 'Usure_Totale' ; CycActu = BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' ; BOITE_US. &BU .'EVO_USURE_TOTALE'. CycActu = EvUsureT ; * 'SI' (BOITE_US.'INFOS'.'TRACE_DEBUG') ; * EvUsureN = 'EVOL' 'OR' 'CHPO' UsureNew SUR_APPL ; EvUsureN = 'EXTR' EvUsureN 'COUR' 1 ; EvUsureN = 'CHAN' EvUsureN 'LEGE' 'Usure_Nouvelle' ; * TITZ = 'CHAI' 'Usure nouvelle(OR)-totale(TURQ) Boite ' &BU ; 'DESS' (EvUsureN 'ET' EvUsureT) 'TITR' TITZ 'LEGE' ; 'FINSI' ; 'FINSI' ; * *----------------------------------------------------------------------* * - STOCKAGE DES RESULTATS * *----------------------------------------------------------------------* BOITE_US. &BU .'USURE_CYCLE' = UsureNew ; BOITE_US. &BU .'USURE_TOTALE' = UsureTot ; 'FIN' BU ; * FINP T1 ;