* @USPOST PROCEDUR MB234859 23/12/21 21:15:05 11815 ************************************************************************ * PROCEDURE @USPOST * * Procedure de post-traitement specifique aux calculs d'usure * * Entrees : * T1 : Table de PASAPAS * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer * * Sortie : * T1 : Table de PASAPAS avec les resultats calcules * * Appelee par @USURE * ************************************************************************ * BOITE_US = T1.'BOITES_USURE' ; NBBOX = BOITE_US.'DONNEES'.'N_BOITES' ; CycActu = BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' ; NbCycRe = BOITE_US.'INFOS'.'NB_CYCLES_RESTANTS' ; SUR_APPL = BOITE_US. ID_BU .'SURFACE_APPLICATION' ; * *----------------------------------------------------------------------* * - CYCLE CALCULE ET CYCLE REEL (DONNEES COMMUNES) * *----------------------------------------------------------------------* 'SI' ('EGA' ID_BU 1) ; BOITE_US.'POST'.'CYCLES_CALCULES' = BOITE_US.'POST'.'CYCLES_CALCULES' 'ET' CycActu ; * NCycle = BOITE_US.'DONNEES'.'NB_CYCLES' ; BOITE_US.'POST'.'CYCLES_REELS' = BOITE_US.'POST'.'CYCLES_REELS' 'ET' (NCycle '-' NbCycRe) ; 'FINSI' ; * *----------------------------------------------------------------------* * - PRESSION ET CISAILLEMENT MOYENS/MAX ET PROFONDEUR MAX * *----------------------------------------------------------------------* PresMoy = BOITE_US.'INFOS'.'UNSURT' '*' PresCum ; BOITE_US. ID_BU .'PRESSION_MOYENNE_CYCLE'. CycActu = PresMoy ; * BOITE_US. ID_BU .'PRESSION_MAX_CYCLE' = BOITE_US. ID_BU .'PRESSION_MAX_CYCLE' 'ET' * CisaMoy = BOITE_US.'INFOS'.'UNSURT' '*' CisaCum ; BOITE_US. ID_BU .'CISAILLEMENT_MOYEN_CYCLE'. CycActu = CisaMoy ; * BOITE_US. ID_BU .'CISAILLEMENT_MAX_CYCLE' = BOITE_US. ID_BU .'CISAILLEMENT_MAX_CYCLE' 'ET' * BOITE_US. &BU .'GLISSEMENT_CYCLE'. CycActu = GlissCum ; * BOITE_US. ID_BU .'PROF_USEE_MAX_CYCLE' = BOITE_US. ID_BU .'PROF_USEE_MAX_CYCLE' 'ET' ProfMax ; * BOITE_US. ID_BU .'PROF_USEE_MAX_TOTALE' = BOITE_US. ID_BU .'PROF_USEE_MAX_TOTALE' 'ET' ProfMax ; * *----------------------------------------------------------------------* * - CALCUL DE DELTA_G ET DELTA_T * *----------------------------------------------------------------------* CyclFret = BOITE_US. ID_BU .'CYCLE_DE_FRETTING'. CycActu ; * DltG_Est = ECycFret / 2. / Ampl_F_N ; BOITE_US. ID_BU .'DELTA_G' = BOITE_US. ID_BU .'DELTA_G' 'ET' DltG_Est ; * DltT_Est = (Ampl_Dlt / 2.) - DltG_Est ; LDltTPre = BOITE_US. ID_BU .'DELTA_T' ; BOITE_US. ID_BU .'DELTA_T' = LDltTPre 'ET' DltT_Est ; * * -- DOIT-ON REDETERMINER LES PAS DE TEMPS 'SI' (('EGA' ID_BU 1) 'ET' (BOITE_US.'INFOS'.'CALCUL_PAS')); ECycGtot = Ampl_F_N * Ampl_Dlt ; BOITE_US.'INFOS'.'AJUSTE_PAS' = FAUX ; * Uniquement si regime de glissement total 'SI' ((ECycFret / ECycGtot) '>' 0.2) ; BOITE_US.'INFOS'.'AJUSTE_PAS' = VRAI ; 'SI' ('NEG' CycActu 1) ; VarDltT = 'ABS' ((DltT_Est - DltTPre) / DltTPre) ; BOITE_US.'INFOS'.'AJUSTE_PAS' = (VarDltT '>' 0.1) ; 'FINSI' ; 'MESS' CHAZ ; 'FINSI' ; 'FINSI' ; * *----------------------------------------------------------------------* * - ENERGIE DISSIPEE ET VOLUME USE PAR CYCLE ET TOTAL * *----------------------------------------------------------------------* SUR_APPL ; BOITE_US. ID_BU .'ENERGIE_DISSIPEE_CYCLE' = BOITE_US. ID_BU .'ENERGIE_DISSIPEE_CYCLE' 'ET' EdCycle ; * DensEnDT = BOITE_US. ID_BU .'DENS_ENER_DISS_TOTALE' ; BOITE_US. ID_BU .'ENERGIE_DISSIPEE_TOTALE' = BOITE_US. ID_BU .'ENERGIE_DISSIPEE_TOTALE' 'ET' EdTotale ; * BOITE_US. ID_BU .'VOLUME_USE_CYCLE' = BOITE_US. ID_BU .'VOLUME_USE_CYCLE' 'ET' VolUsCyc ; * BOITE_US. ID_BU .'VOLUME_USE_TOTAL' = BOITE_US. ID_BU .'VOLUME_USE_TOTAL' 'ET' VolUsTot ; * *----------------------------------------------------------------------* * - LARGEUR DE LA ZONE DE CONTACT * *----------------------------------------------------------------------* BOITE_US. ID_BU .'LARGEUR_CONTACT_CYCLE' = BOITE_US. ID_BU .'LARGEUR_CONTACT_CYCLE' 'ET' SurCont ; * *----------------------------------------------------------------------* * - CONSTRUCTION D'EVOLUTIONS AVANT DE QUITTER PASAPAS * *----------------------------------------------------------------------* 'SI' ('EGA' NbCycRe 0) ; * * Pression et cisaillement max en fonction du cycle calcule 'Cycle_calcule' BOITE_US.'POST'.'CYCLES_CALCULES' 'Pression_Max' BOITE_US. ID_BU .'PRESSION_MAX_CYCLE' ; 'Cycle_calcule' BOITE_US.'POST'.'CYCLES_CALCULES' 'Cisaille_Max' BOITE_US. ID_BU .'CISAILLEMENT_MAX_CYCLE' ; * * Delta_g et Delta_t en fonction du cycle calcule 'Cycle_reel' BOITE_US.'POST'.'CYCLES_REELS' 'Delta_G' BOITE_US. ID_BU .'DELTA_G' ; 'Cycle_reel' BOITE_US.'POST'.'CYCLES_REELS' 'Delta_T' BOITE_US. ID_BU .'DELTA_T' ; * * Energie dissipee par cycle et totale en fonction du cycle calcule 'Cycle_calcule' BOITE_US.'POST'.'CYCLES_CALCULES' 'Ener_diss_cycle' BOITE_US. ID_BU .'ENERGIE_DISSIPEE_CYCLE' ; 'Cycle_calcule' (0 'ET' BOITE_US.'POST'.'CYCLES_CALCULES') 'Ener_diss_totale' BOITE_US. ID_BU .'ENERGIE_DISSIPEE_TOTALE' ; * * Volume use en fonction du cycle reel et de l'energie dissipee 'Cycle_reel' (0 'ET' BOITE_US.'POST'.'CYCLES_REELS') 'Volume_use_total' BOITE_US. ID_BU .'VOLUME_USE_TOTAL' ; 'Ener_diss_totale' BOITE_US. ID_BU .'ENERGIE_DISSIPEE_TOTALE' 'Volume_use_total' BOITE_US. ID_BU .'VOLUME_USE_TOTAL' ; * * Stockage BOITE_US. ID_BU .'PRESMAX_VS_CYCLES' = PmCycle ; BOITE_US. ID_BU .'CISAMAX_VS_CYCLES' = CmCycle ; BOITE_US. ID_BU .'DELTA_G_VS_CYCLES' = DgCycle ; BOITE_US. ID_BU .'DELTA_T_VS_CYCLES' = DtCycle ; BOITE_US. ID_BU .'ED_CYCLE_VS_CYCLES' = EdcCycle ; BOITE_US. ID_BU .'ED_TOT_VS_CYCLES' = EdtCycle ; BOITE_US. ID_BU .'V_USE_TOT_VS_CYCLES' = VuCycle ; BOITE_US. ID_BU .'V_USE_TOT_VS_ED_TOT' = VuEdt ; * 'FINSI' ; * *----------------------------------------------------------------------* * - SAUVEGARDE INTERMEDIAIRE * *----------------------------------------------------------------------* 'SI' ('EGA' ID_BU NBBOX); 'SI' (BOITE_US.'INFOS'.'ISAVE') ; NOMFIC = BOITE_US.'INFOS'.'NOM_SVGD' ; 'FINSI' ; 'FINSI' ; * FINP T1 ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales