* fichier : usure.dgibi * * Section : Mecanique Usure * * Presentation du cas-test: * ------------------------- * * Modelisation 2D du contact-frottement (de type Coulomb) entre un * cylindre et un plan. et prise en compte du profil d'usure. * Comparaison code a code avec WearBox du LTDS (S.Fouvry et S.Garcin) * Code Matlab - Abaqus - Python * Fretting Team - LTDS - Ecole Centrale Lyon * * [Collaboration LTDS - These E. Marc] * * Ce cas-test appelle la procedure USURE *______________________________________________________________________ * DEFINITION D'UNE BOITE D USURE *______________________________________________________________________ * * Table contenant toutes les informations pour l'usure * * BOX1 = TABL ; * -> Creation de la boite d'usure a stocker dans la table PASAPAS * * Indices a definir pour chaque boite d'usure i : * * BOX1. i .'VOLUME_REPARTITION' * -> Volume sous la surface usee pour "repartir" l'usure. * * BOX1. i .'SURFACE_APPLICATION' * -> Surface usee (ou sera appliquee l'usure). * * BOX1. i .'COEFFICIENT_USURE' * -> Valeur du coefficient d'usure (en mm3/mJ). * * Indices pour definir les cycles d'usure dans une table 'DONNEES' * * BOX1.'DONNEES'.'T_DEBUT_USURE' * -> Temps ou demarre l'usure. * * BOX1.'DONNEES'.'PERIODE' * -> Periode d'un cycle d'usure. * * BOX1.'DONNEES'.'NB_CYCLES' * -> Nombre de cycle d'usure * * BOX1.'DONNEES'.'ACCELERATION' * -> Valeur du coefficient d'acceleration (sans unite). * * BOX1.'DONNEES'.'INCREMENTS_CYCLE' * -> Nombre de point calcule par cycle * * Remarques : * 1/ On parle de SURFACE et de VOLUME mais puisqu'il s'agit d'un * cas-test bidimensionnel, il convient de remplacer ces termes * respectivement par ligne et surface. * * 2/ Un indice 'BOITES_USURE' de la table de PASAPAS sera defini * comme etant un objet de type TABLE. * Soit TAB1, la table de PASAPAS, alors * TAB1.'BOITES_USURE' = BOX1 ; * * 3/ Les dimensions sont donnees ici en mm * *______________________________________________________________________ * * DONNEES UTILES *______________________________________________________________________ * * Donnees a renseigner correspondant aux conditions experimentales a simuler * * Rayon du cylindre (mm) : rayon * Generatrice du cylindre (dimension hors plan) (mm) : genCyl * Caracteristiques materiaux (MPa) : YoungCyl, YoungPln, NuCyl, NuPlan * Coefficient de frottement : MuContact * Debattement maximal impose (mm) : DltEtoil * Periode du cycle de fretting (s) : periode * Force normale imposee (N) : ForceN * Coefficients d usure energetiques (mm3/mJ) : ALPHA1 et ALPHA2 * Direction d application de l usure * Facteur d acceleration : BETA *______________________________________________________________________ * * OPTION DE CALCUL *______________________________________________________________________ * * Definition des options de calcul OPTI DIME 2 ELEM QUA4 ; OPTI MODE 'PLAN' 'DEFO'; * Pieces massives => Deformations planes * OPTI DEBU 1 ; OPTI SAUV TAILLE 2.e9 8 ; OPTI TRAC PSC ; * LGRAPH = FAUX ; * Booleen pour n'effectuer que le trace du maillage (pas de resolution) OnlyMesh = FAUX ; * Maillage grossier (en dehors de la zone WearBox, elle non modifiee) YESFATMS = FAUX ; * Prendre en compte l'usure du plan ? OuiUsPla = VRAI ; * Prendre en compte l'usure du cylindre ? OuiUsCyl = FAUX ; *______________________________________________________________________ * * MAILLAGE *______________________________________________________________________ * * - DIMENSIONS GEOMETRIQUES DU MODELE (en mm !!!!!) * CT -> Cylindre Total BUC -> Boite Usure Cylindre * PT -> Plan Total BUP -> Boite Usure Plan * FineMS correspond a la taille des elements FineMS = 0.010 ; rayon = 4.8 ; LgrCT = 0.75 ; EprCT = 0.25 ; LgrPT = 0.75 ; EprPT = 0.25 ; LgrBUC = 0.4 ; EprBUC = 0.125 ; LgrBUP = 0.4 ; EprBUP = 0.125 ; * FCYL et FPLA sont des facteurs permettant de jouer sur la densite du * maillage dans la boite d'usure. Ils ne sont pas necessairement egaux * Ce sont des facteurs multiplicatifs de FineMS. FCYL = 1.0 ; FPLA = 1.0 ; * * - MAILLAGE DU CYLINDRE * -> Dimensions, nombre et taille des elements pour le cylindre LgrBU = (( ENTI 'SUPERIEUR' (LgrBUC/FineMS/2) ) * FineMS * 2) ; EprBU = (( ENTI 'SUPERIEUR' (EprBUC/FineMS ) ) * FineMS ) ; NLgrBU = 2* (ENTI 'PROCHE' (LgrBU / FineMS / 2)) ; * -> Dimensions du cylindre totale AlphaCT = ASIN ((LgrCT/2.)/rayon) ; GapCT = (1. - (COS AlphaCT) ) * rayon ; HtrCT = GapCT + EprCT ; * -> Dimensions de la boite d usure, partie cylindre AlphaBU = ASIN ((LgrBU/2.)/rayon) ; GapBU = (1. - (COS AlphaBU) ) * rayon ; HtrBU = GapBU + EprBU ; * -> Points P0 = 0.0 0.0 ; PCEN = 0.0 rayon ; PA = (-1*LgrCT/2) GapCT ; PB = (-1*LgrBU/2) GapBU ; PC = ( LgrBU/2) GapBU ; PD = ( LgrCT/2) GapCT ; PE = ( LgrCT/2) HtrCT ; PF = (-1*LgrCT/2) HtrCT ; PG = ( LgrBU/2) HtrBU ; PH = (-1*LgrBU/2) HtrBU ; * -> Lignes CBC = CERC NLgrBU PB PCEN PC ; LCG = DROI PC PG 'DINI' FineMS 'DFIN' (FCYL*FineMS) ; LGH = DROI NLgrBU PG PH ; LHB = DROI PH PB 'DINI' (FCYL*FineMS) 'DFIN' FineMS ; * -> Contour interieur (identique que le maillage soit grossier ou non) CntrInt = LCG ET LGH ET LHB ; * -> Surface boite d'usure (partie en contact-frottement) SrfBUC = 'DALL' CBC LCG LGH LHB 'PLAN' ; SI YESFATMS ; NEprBU = ENTI 'PROCHE' (EprBU / FineMS) ; GrosMSVC = (EprCT / NEprBU) * 2. ; CAB = CERC 'DINI' GrosMSVC 'DFIN' FineMS PA PCEN PB ; CCD = CERC 'DINI' FineMS 'DFIN' GrosMSVC PC PCEN PD ; LDE = DROI PD PE 'DINI' GrosMSVC 'DFIN' GrosMSVC ; LEF = DROI PE PF 'DINI' GrosMSVC 'DFIN' GrosMSVC ; LFA = DROI PF PA 'DINI' GrosMSVC 'DFIN' GrosMSVC ; SINON ; NBE = 'NBEL' LCG ; 'SI' ('>EG' FCYL 1.51) ; RCYL = ((LgrCT - LgrBU) / 2.)/ EprBU ; 'SINON' ; RCYL = 2.0 ; 'FINSI' ; CAB = CERC 'DINI' (RCYL*FCYL*FineMS) 'DFIN' FineMS PA PCEN PB ; CCD = CERC 'DINI' FineMS 'DFIN' (RCYL*FCYL*FineMS) PC PCEN PD ; LDE = DROI NBE PD PE ; LEF = DROI NLgrBU PE PF ; LFA = DROI NBE PF PA ; FINSI ; * -> Contour exterieur (depend si le maillage est grossier ou non) CntrExt = LDE ET LEF ET LFA ; * -> Surface du reste du cylindre ( contour interieur et exterieur) SI YESFATMS ; SrfCT = SURF ((INVE CntrInt) ET CCD ET CntrExt ET CAB) ; SINON ; SrfCT = DALL (INVE CntrInt) CCD CntrExt CAB 'PLAN' ; FINSI ; * -> Surface totale du cylindre SurfCyl = SrfBUC ET SrfCT ; ELIM SurfCyl 1.e-8 ; * - MAILLAGE DU PLAN * -> Dimensions, nombre et taille des elements pour le plan LgrBU = (( ENTI 'SUPERIEUR' (LgrBUP/FineMS/2) ) * FineMS * 2) ; EprBU = (( ENTI 'SUPERIEUR' (EprBUP/FineMS ) ) * FineMS ) ; NLgrBU = 2* (ENTI 'PROCHE' (LgrBU / FineMS / 2)) ; * -> Points PI = (-1*LgrPT/2) 0.0 ; PJ = (-1*LgrBU/2) 0.0 ; PK = ( LgrBU/2) 0.0 ; PK = ( LgrBU/2) -0.00 ; PL = ( LgrPT/2) 0.0 ; PM = ( LgrPT/2) (-1.*EprPT) ; PN = (-1*LgrPT/2) (-1.*EprPT) ; PO = ( LgrBU/2) (-1.*EprBU) ; PP = (-1*LgrBU/2) (-1.*EprBU) ; * -> Lignes LJK = DROI NLgrBU PJ PK ; LKO = DROI PK PO 'DINI' FineMS 'DFIN' (FPLA*FineMS) ; LOP = DROI NLgrBU PO PP ; LPJ = DROI PP PJ 'DINI' (FPLA*FineMS) 'DFIN' FineMS ; * -> Contour interieur (identique que le maillage soit grossier ou non) CntrInt = LKO ET LOP ET LPJ ; * -> Surface boite d'usure (partie en contact-frottement) SrfBUP = 'DALL' LOP (INVE LKO) LJK (INVE LPJ) 'PLAN' ; SI YESFATMS ; NEprBU = ENTI 'PROCHE' (EprBU / FineMS) ; GrosMSVP = (EprPT / NEprBU) * 4. ; LIJ = DROI 'DINI' GrosMSVP 'DFIN' FineMS PI PJ ; LKL = DROI 'DINI' FineMS 'DFIN' GrosMSVP PK PL ; LLM = DROI PL PM 'DINI' GrosMSVP 'DFIN' GrosMSVP ; LMN = DROI PM PN 'DINI' GrosMSVP 'DFIN' GrosMSVP ; LNI = DROI PN PI 'DINI' GrosMSVP 'DFIN' GrosMSVP ; SINON ; NBE = 'NBEL' LPJ ; 'SI' ('>EG' FPLA 1.51) ; RPLA = ((LgrPT - LgrBU) / 2.)/ (HtrBU - GapBU) ; 'SINON' ; RPLA = 2.0 ; 'FINSI' ; LIJ = DROI 'DINI' (RPLA*FPLA*FineMs) 'DFIN' FineMS PI PJ ; LKL = DROI 'DINI' FineMS 'DFIN' (RPLA*FPLA*FineMS) PK PL ; LLM = DROI NBE PL PM ; LMN = DROI NLgrBU PM PN ; LNI = DROI NBE PN PI ; FINSI ; * -> Contour exterieur (depend si le maillage est grossier ou non) CntrExt = LLM ET LMN ET LNI; * -> Surface du reste du plan SI YESFATMS ; SrfPT = SURF ((INVE CntrInt) ET LKL ET CntrExt ET LIJ ) ; SINON ; SrfPT = DALL (INVE CntrInt) LKL CntrExt LIJ 'PLAN' ; FINSI ; * -> Surface totale du plan SurfPlan = SrfBUP ET SrfPT ; ELIM SurfPlan 1.e-8 ; *SrfBUP = SurfPlan INTE SrfBUP ; * * RECUPERATION DES ZONES DE MAILLAGE UTILES * -> Cylindre CntrCyl = CONT SurfCyl 'COUL' 'BLEU' ; PtsHautC = SurfCyl POIN 'DROIT' PF PE 1.e-8 ; PtsCrbeC = SurfCyl POIN 'SPHE' PCEN P0 1.e-8 ; SetHautC = CntrCyl ELEM 'APPU' 'STRI' PtsHautC ; SetCrbeC = CntrCyl ELEM 'APPU' 'STRI' PtsCrbeC ; SetCrbeC = ORIE SetCrbeC ; * -> Plan CntrPlan = CONT SurfPlan 'COUL' 'BLEU' ; PtsHautP = SurfPlan POIN 'DROIT' PI PL 1.e-8 ; PtsBasP = SurfPlan POIN 'DROIT' PM PN 1.e-8 ; PtsGaucP = SurfPlan POIN 'DROIT' PI PN 1.e-8 ; PtsDroiP = SurfPlan POIN 'DROIT' PL PM 1.e-8 ; SetHautP = CntrPlan ELEM 'APPU' 'STRI' PtsHautP ; SetBasP = CntrPlan ELEM 'APPU' 'STRI' PtsBasP ; SetGaucP = CntrPlan ELEM 'APPU' 'STRI' PtsGaucP ; SetDroiP = CntrPlan ELEM 'APPU' 'STRI' PtsDroiP ; SetHautP = ORIE SetHautP ; * SI OnlyMesh ; TRAC ((CntrCyl ET CntrPlan) ET (SurfCyl ET SurfPlan)) TITR 'Maillage Cylindre et Plan' ; FINSI ; * * Creation du maillage de contact **MeshCntc ='IMPO' 'MAIL' 'MESC' CBC (INVE LJK) ; **MeshCntc = MeshCntc 'COUL' 'JAUN' ; SI OnlyMesh ; ** TRAC (MeshCntc ET (CntrCyl ET CntrPlan) ET (SurfCyl ET SurfPlan)) TITR 'Maillages Cylindre, Plan et Zone Contact' ; FINSI ; *______________________________________________________________________ * * MODELES ET MATERIAUX *______________________________________________________________________ * * ATTENTION LES DIMENSIONS DE NOS PIECES SONT EN MM YoungCyl = 200000 ; NuCyl = 0.3 ; YoungPln = 200000 ; NuPlan = 0.3 ; MuContac = 0.9; * ModeCyl = MODE SurfCyl 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' ; MateCyl = MATE ModeCyl 'YOUN' YoungCyl 'NU' NuCyl ; * ModePlan = MODE SurfPlan 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' ; MatePlan = MATE ModePlan 'YOUN' YoungPln 'NU' NuPlan ; * ModeCntc = MODE cbc 'CONTACT' 'FROTTANT' 'COULOMB' (inve ljk) ; MateCntc = MATE ModeCntc 'MU' MuContac; *______________________________________________________________________ * * CONDITIONS AUX LIMITES *______________________________________________________________________ * BlcXPlan = (SetGaucP ET SetDroiP) BLOQ 'UX' ; BlcYPlan = SetBasP BLOQ 'UY' ; BlocPlan = (BlcXPlan ET BlcYPlan) ; LinkHauC = BLOQ SetHautC 'UX' ; YcommunC = RELA ENSE SetHautC 'UY'; BlocCyl = LinkHauC ET YcommunC ; BloTot = BlocPlan ET BlocCyl ; *______________________________________________________________________ * * CHARGEMENTS ET INSTANTS CALCULES *______________________________________________________________________ * DltEtoil = 0.004 ; NCyReel = 2500 ; BETA = 500 ; t_0 = 1.0 ; periode = 1. ; * * Instants de debut et de fin des cycles d'usure T_INI_US = (t_0 + (periode/4.)) ; T_FIN_US = T_INI_US + (NCyReel * periode) ; * Evolutions pour les chargements ListT_Fn = PROG 0. 1. T_FIN_US ; ListF_Fn = PROG 0. 1. 1. ; Evol_Fn = 'EVOL' 'VERT' 'MANU' ListT_Fn 'Temps' ListF_Fn 'F_n' ; ListT_De = 'PROG' 0. t_0 T_INI_US ; ListA_De = 'PROG' 0. 0. 1. ; TREPR = T_INI_US ; Demiper = periode / 2. ; REPE BTPS NCyReel ; TINTE = TREPR + Demiper ; TREPR = TREPR + periode ; ListT_De = ListT_De 'ET' (PROG TINTE TREPR) ; ListA_De = ListA_De 'ET' (PROG -1. 1.) ; FIN BTPS ; Evol_De = 'EVOL' 'TURQ' 'MANU' ListT_De 'Temps' ListA_De 'Delta' ; * - Chargement en force pour mettre en contact les deux solides ForceN = 60. ; ValPresN = ForceN / LgrCT; PressNod = 'PRES' 'MASS' ModeCyl ValPresN SetHautC ; CharNorm = 'CHAR' 'MECA' Evol_Fn PressNod ; * - Chargement en deplacement impose qui fait frotter les deux solides DeplFret = 'DEPI' LinkHauC DltEtoil ; CharFret = 'CHAR' 'DIMP' Evol_De DeplFret ; * - Liste des instants a calculer LTPS = 'PROG' 0. PAS 0.125 t_0 1.0312 1.0625 1.1562 ; LTPS = LTPS 'ET' ('PROG' 1.2500 1.2812 1.3125 1.3438 1.3750 1.4688 1.5625 1.6562 1.7500 1.7812 1.8125 1.8438 1.8750 1.9688 2.0625 2.1562 2.2500 2.2777 2.3053 2.3330 2.3606 2.4580 2.5553 2.6527 2.7500 2.7777 2.8053 2.8330 2.8606 2.9580 3.0553 3.1527 3.2500 3.2817 3.3134 3.3451 3.3768 3.4701 3.5634 3.6567 3.7500 3.7817 3.8134 3.8451 3.8768 3.9701 4.0634 4.1567) ; LTPS = LTPS 'ET' ('PROG' 4.2500 4.2794 4.3087 4.3381 4.3675 4.4631 4.5587 4.6544 4.7500 4.7794 4.8087 4.8381 4.8675 4.9631 5.0587 5.1544 5.2500 5.2794 5.3087 5.3381 5.3675 5.4631 5.5587 5.6544 5.7500 5.7794 5.8087 5.8381 5.8675 5.9631 6.0587 6.1544 6.2500) ; * NBINCR = 16 ; **VALPAS = periode / NBINCR ; **LTPS = 'PROG' 0. PAS 0.125 t_0 1.0312 1.0625 1.1562 ; **LTPS = LTPS 'ET' ('PROG' 1.25 'PAS' VALPAS 6.25) ; *______________________________________________________________________ * * DEFINITION DE LA BOITE D USURE *______________________________________________________________________ * * Coefficient pour l'usure (alpha en mm3/mJ) ALPHA = 1.e-8 ; * * -> Boite d usure pour le plan BOX1 = TABL ; BOX1.'VOLUME_REPARTITION' = SrfBUP ; BOX1.'SURFACE_APPLICATION' = ('INVE' LJK) ; BOX1.'COEFFICIENT_USURE' = ALPHA ; * -> Boite d usure pour le cylindre BOX2 = TABL 'BOITE_USURE' ; BOX2.'VOLUME_REPARTITION' = SrfBUC ; BOX2.'SURFACE_APPLICATION' = ('INVE' CBC) ; BOX2.'COEFFICIENT_USURE' = ALPHA ; ************************************** ** ENCAPSULAGE DES BOITES D'USURE ** ************************************** NbBoxUs = 0 ; YesUsur = VRAI ; SI OuiUsCyl ; NbBoxUs = NbBoxUs + 1 ; FINSI ; SI OuiUsPla ; NbBoxUs = NbBoxUs + 1 ; FINSI ; BOX_USUR = TABL ; BOX_USUR.'DONNEES' = 'TABLE' ; BOX_USUR.'DONNEES'.'T_DEBUT_USURE' = T_INI_US ; BOX_USUR.'DONNEES'.'PERIODE' = periode ; BOX_USUR.'DONNEES'.'NB_CYCLES' = NCyReel ; BOX_USUR.'DONNEES'.'ACCELERATION' = BETA ; BOX_USUR.'DONNEES'.'INCREMENTS_CYCLE' = NBINCR ; SI (NbBoxUs EGA 2) ; BOX_USUR. 1 = BOX1 ; BOX_USUR. 2 = BOX2 ; SINON ; SI OuiUsCyl ; BOX_USUR. 1 = BOX2 ; SINON ; SI OuiUsPla ; BOX_USUR. 1 = BOX1 ; SINON ; YesUsur = FAUX ; FINSI ; FINSI ; FINSI ; *______________________________________________________________________ * * DEFINTION DE LA TABLE DE PASAPAS *______________________________________________________________________ * TAB1 = TABL 'PASAPAS' ; TAB1.'MODELE' = ModeCyl ET ModePlan ET ModeCntc ; TAB1.'CARACTERISTIQUES' = MateCyl ET MatePlan ET MateCntc ; TAB1.'CHARGEMENT' = CharFret ET CharNorm ; TAB1.'BLOCAGES_MECANIQUES' = BloTot ; TAB1.'GRANDS_DEPLACEMENTS' = VRAI ; TAB1.'TEMPS_CALCULES' = LTPS ; TAB1.'BOITES_USURE' = BOX_USUR ; TAB1.'LAGRANGIEN' = 'MOT' 'TOTAL' ; SI YesUsur ; TAB1.'PROCEDURE_PERSO1' = VRAI ; SINON ; TAB1.'PROCEDURE_PERSO1' = FAUX ; FINSI ; * Tmp = TEMPS 'HORL' ; *______________________________________________________________________ * * PROCEDURE UTILISATEUR PERSO1 *______________________________________________________________________ * DEBP PERSO1 T1*'TABLE' ; T1 = USURE T1 ; FINP T1; *______________________________________________________________________ * * APPEL A LA PROCEDURE PASAPAS *______________________________________________________________________ * PASAPAS Tab1 ; *explorer tab1 ; * kich : coefficients arbitraires cafaus = manu chml (ModeCyl ET ModePlan) 'ADVK' -0.33 'BDVK' 19.9e1 'APAP' -0.34 'BPAP' 19.8e1 'ASIN' -0.35 'BSIN' 19.7e1 'ACRO' -0.36 'BCRO' 19.6e1 'A_DC' -0.37 'B_DC' 19.5e1 type 'CARACTERISTIQUES' stresses ; chaus1 = char tab1 . temps tab1 . contraintes ; chfa1 = FATI (ModeCyl ET ModePlan) chaus1 cafaus 5. 6.5 ; lcoul1 = prog -10. -1. -0.5 -0.2 -0.1 0. 0.1 0.2 0.5 1. 10. ; SI LGRAPH ; trac chfa1 (ModeCyl ET ModePlan) lcoul1 ; FINSI ; *chfa2 = FATI (ModeCyl ET ModePlan) chaus1 cafaus 5. 6.5 'PAPA' ; chfa3 = FATI (ModeCyl ET ModePlan) chaus1 cafaus 5. 6.5 'DVKP' ; p_cyb = -8.00180E-02 1.09364E-02 ; p_cyb = point Surfcyl proc p_cyb ; mmcyb = elem surfcyl appuye largement p_cyb ; evcyb = extr (redu chfa3 mmcyb) ptau 1 1 3 ; SI LGRAPH ; dess evcyb ; FINSI ; xtau15 = extr (extr (extr evcyb cour 1) ordo) 15 ; xtau15r = 148.71 ; erfati2 = abs ((xtau15r - xtau15)/xtau15r) ; *______________________________________________________________________ * * VALIDATION CODE A CODE *______________________________________________________________________ * * Comparaison des resultats obtenus avec Cast3M a la reference WearBox : * Code Matlab - Abaqus - Python * Fretting Team - LTDS - Ecole Centrale Lyon * * Une premiere version du cas test comportait 20 cycles numeriques, * qui dure environ 7 minutes. * La seconde version du cas test comporte 5 cycles numeriques, qui * dure environ 1.5 minutes. Celle-ci a ete mise en place par soucis * de rapidite. *______________________________________________________________________ * OPTI ECHO 0 ; BOITE_US = TAB1.'BOITES_USURE'. 1 ; EvUstot = BOITE_US.'EVO_USURE_TOT' ; Indice = 'DIME' EvUstot ; EvUC_N5 = BOITE_US.'EVO_USURE_TOT' . Indice ; x_C3M5 = EXTR EvUC_N5 'ABSC' ; hu_C3M5 = EXTR EvUC_N5 'ORDO' ; * Valeurs de reference provenant du code WearBox hu_R5_1 = PROG 0 0 0 0 0 0 0 0 0 0 0 0 0 ; hu_R5_2 = PROG -0.00000319 -0.00004986 -0.0000968 -0.0001257 -0.00014598 -0.00015885 -0.00016597 -0.00016829 -0.00016597 -0.00015885 -0.00014598 -0.0001257 -0.0000968 -0.00004986 -0.00000319 ; hu_R5_3 = PROG 0 0 0 0 0 0 0 0 0 0 0 0 0 ; hu_R5 = hu_R5_1 ET hu_R5_2 ET hu_R5_3 ; errHU_5 = (ABS hu_R5 ) - (ABS hu_C3M5) ; EvEr_N5 = EVOL 'MANU' x_C3M5 errHU_5 ; EvHU_R5 = EVOL 'MANU' x_C3M5 hu_R5 ; VolEr5 = INTG EvEr_N5 'ABSO' ; VolR5 = INTG EvHU_R5 'ABSO' ; PCT_Er5 = (VolEr5 / VolR5 * 100.) ; * Comparaison au code WearBox (Matlab Abaqus Python) MESS ' ' ; MESS ' ' ; MESS '***************************' ; MESS '** CAS TEST CODE USURE **' ; MESS '***************************' ; MESS ' ' ; MESS ' ' ; SI (PCT_Er5