* @USCALC PROCEDUR MB234859 23/12/21 21:15:04 11815 ************************************************************************ * PROCEDURE @USCALC * * Cette procedure recupere les valeurs de glissement et calcule le * cisaillement, la pression de contact et la densite d'energie * dissipee sur le pas de temps, sur le cycle et totale. * * Entrees : * T1 : Table de PASAPAS * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer * * Sortie : * T1 : Table de PASAPAS contenant les champs calcules * * Appelee par @USURE * ************************************************************************ * *----------------------------------------------------------------------* * - LIEN ENTRE MULT. DE LAGRANGE DE CONTACT ET DE FROTTEMENT * *----------------------------------------------------------------------* BOITE_US = T1.'BOITES_USURE' ; * * * Maillage de contact-frottement * * 'REPE' BCL NBELT ; 'SI' (BOITE_US.'INFOS'.'ITRID') ; 'FINSI' ; MLIEN = MLIEN 'ET' MAIZ ; MCONT = MCONT 'ET' PCONT ; 'FIN' BCL ; * * BOITE_US. ID_BU .'MULT_CONT' = MCONT ; BOITE_US. ID_BU .'CONT_FROT' = MLIEN ; 'FINSI'; * MCONT = BOITE_US. ID_BU .'MULT_CONT' ; MLIEN = BOITE_US. ID_BU .'CONT_FROT' ; * *----------------------------------------------------------------------* * - STATUT DES CONDITIONS UNILATERALES (CONTACT ET FROTTEMENT) * *----------------------------------------------------------------------* WTAB = T1.'WTABLE' ; WCOF = WTAB.'POST_COFR'; * Mult. de Lagrange associes aux CL unil actives (contact et frottement) * Mult. de Lagrange associes aux CL de contact actives * * Mult. de Lagrange de frottement associes a ceux de contact actifs MLFR = MLFR 'ET' PFROT ; 'FIN' BCL2 ; 'FIN' BCL ; * * Mult. de Lagrange associes aux CL de frottement actives **MLFRA = MLFR 'INTE' CLUA ; * Mult. de Lagrange de frottement inactifs avec mult. de contact actif * MUGL = 'DIFF' MLFR MLFRA ; * *----------------------------------------------------------------------* * - REACTIONS NORMALE ET TANGENTIELLE ET GLISSEMENT * *----------------------------------------------------------------------* LXZ = WCOF.'MULT_SOLUT' ; LCOMPF = BOITE_US.'INFOS'.'LFORCE' ; LZERO = BOITE_US.'INFOS'.'LVALE0' ; LUN = BOITE_US.'INFOS'.'LVALE1' ; LSCAL = BOITE_US.'INFOS'.'LSCAL' ; SUR_APPL = BOITE_US. ID_BU .'SURFACE_APPLICATION' ; WCL = WCOF.'RIGI_UNILA' ; *- Reaction tangentielle ForceT = ForceT 'ET' Rtang ; *- Reaction normale ForceN = ForceN 'ET' Rnorm ; *- Glissement eventuel NorRtang = PscRtang ** 0.5 ; Dirgliss = Rtang '/' NorRtang LCOMPF LSCAL LCOMPF; * * Certains noeuds apparaissent dans plusieurs conditions de contact/ * frottement, il faut alors moyenner les valeurs de glissement Chpres = Chpres 'ET' CHMZ ; Glismt = Glismt 'ET' Valgliss ; 'FIN' BCL ; * **MTM2 = 'UNIQ' MTMP ; **CNBF = 'MANU' 'CHPO' MTM2 1 'SCAL' 1. 'NATURE' 'DISCRET' ; **'SI'('EGA' (BOITE_US.'INFOS'.'INDICE_INCREMENT_ACTUEL') 1) ; ** BOITE_US. ID_BU .'PRESSION_NBF' = CNBF ; **'SINON' ; ** BOITE_US. ID_BU .'PRESSION_NBF' = BOITE_US. ID_BU .'PRESSION_NBF' + CNBF ; **'FINSI' ; **EVT = evol vert chpo (BOITE_US. ID_BU .'PRESSION_NBF') sur_appl; **EVY = evol turq chpo CNBF sur_appl; * * Moyenner les valeurs de Glismt Glismt = Glismt '/' Chmoye LCOMPF LCOMPF LCOMPF ; * * Usure bilaterale : equireparition de l'energie dissipee * -> a prendre en compte sur le coefficient d'usure * pas de coefficient ajoute sur les valeurs de glissement * *----------------------------------------------------------------------* * - PRESSION DE CONTACT ET CISAILLEMENT * *----------------------------------------------------------------------* XX = 1. '/' 2 ; 'SI' (BOITE_US.'INFOS'.'ITRID') ; XX = 1. '/' 4. ; 'FINSI' ; 'FORM' DEPZ ; SurfElt = SurfElt 'ET' CHPZ ; 'FIN' BCL ; 'FORM' CONF0 ; * * Pression de contact FNsurf = ForceN '/' SurfElt LCOMPF LSCAL LCOMPF ; Cpress = PscFNsur ** 0.5 ; * * Cisaillement FTsurf = ForceT '/' SurfElt LCOMPF LSCAL LCOMPF ; Cshear = PscFTsur ** 0.5 ; * * Glissement NorGlis = PscGlis ** 0.5 ; * *----------------------------------------------------------------------* * - DENSITE D ENERGIE DISSIPEE PAR FROTTEMENT * *----------------------------------------------------------------------* * Densite d energie dissipee sur le pas de temps * * Densite d energie dissipee sur le cycle EnDisCyc = BOITE_US. ID_BU .'DENS_ENER_DISS_CYCLE' ; EnDisCyc = EnDisCyc + EnDisInc ; * * Densite d energie dissipee totale (ensemble des cycles) EnDisTot = BOITE_US. ID_BU .'DENS_ENER_DISS_TOTALE' ; EnDisTot = EnDisTot + EnDisInc ; * * Trace d evolutions le long de la zone de contact 'SI' (BOITE_US.'INFOS'.'TRACE_DEBUG') ; 'SI' ('NON' (BOITE_US.'INFOS'.'ITRID')) ; * * * * * * 'ET' (100. * EvDltEnD) 'ET' (100. * EvEnDCyc)) 'LEGE' 'NCLK' ; * 'FINSI' ; 'FINSI' ; * *----------------------------------------------------------------------* * - CYCLE D'USURE (FORCE_TANGENTIELLE EN FONCTION DU DEPLACEMENT) * *----------------------------------------------------------------------* LstDelta = BOITE_US. ID_BU .'DELTAS' ; Delta_ii = 'EXTR' DEPZ BOITE_US.'INFOS'.'COMP_DEPI' BOITE_US.'INFOS'.'PTSZ_DEPI' ; LstDelta = LstDelta 'ET' Delta_ii ; * LstFTang = BOITE_US. ID_BU .'FORCES_TANGENTIELLES' ; LCOMPF LCOMPF ; LstFTang = LstFTang 'ET' FTangRes ; * 'SI' (BOITE_US.'INFOS'.'FINCYCLE') ; CycActu = BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' ; 'Force_Tangentielle' LstFTang ; BOITE_US. ID_BU .'CYCLE_DE_FRETTING'. CycActu = CyclFret ; * * Reinitialisation (le dernier point est aussi premier cycle suivant) * 'SI' (BOITE_US.'INFOS'.'TRACE_DEBUG') ; TabDess. 1 = 'TIRC MARQ CROI' ; 'DESS' CyclFret TabDess 'GRIL' 'LEGE' ; 'FINSI' ; 'FINSI' ; * *----------------------------------------------------------------------* * - STOCKAGE DES RESULTATS - DENS_ENER_DISS_CYCLE UTILSE DANS USPROF * *----------------------------------------------------------------------* Inctps = WTAB.'DT' ; IncActu = BOITE_US.'INFOS'.'INDICE_INCREMENT_ACTUEL' ; BOITE_US. ID_BU .'GLISSEMENT'. IncActu = 'ABS' NorGlis ; BOITE_US. ID_BU .'PRESSION_CONTACT'. IncActu = Inctps '*' CPress ; BOITE_US. ID_BU .'CISAILLEMENT'. IncActu = Inctps '*' ('ABS' CShear); BOITE_US. ID_BU .'DENS_ENER_DISS_CYCLE' = EnDisCyc ; BOITE_US. ID_BU .'DENS_ENER_DISS_TOTALE' = EnDisTot ; BOITE_US. ID_BU .'DELTAS' = LstDelta ; BOITE_US. ID_BU .'FORCES_TANGENTIELLES' = LstFTang ; * BOITE_US. ID_BU .'PRESSION_MAX_INC' = * BOITE_US. ID_BU .'CISAILLEMENT_MAX_INC' = * FINP T1 ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales