* @USINIB PROCEDUR MB234859 23/12/21 21:15:04 11815 *********************************************************************** * PROCEDURE @USINIB * * Procedure qui initialise les indices de la table 'BOITES_USURE' ou * seront stockes les resultats de calcul * * Entrees : * T1 : Table de PASAPAS * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer * * Appelee par @USURE * *********************************************************************** * BOITE_US = T1.'BOITES_USURE' ; SUR_APPL = BOITE_US. ID_BU .'SURFACE_APPLICATION' ; * *----------------------------------------------------------------------* * - INITIALISATIONS DE DEBUT DE CALCUL * *----------------------------------------------------------------------* * Informations communes aux boites d'usure 'SI' ('EGA' ID_BU 1) ; * * Verification qu'il y a un nombre pair d'increments a calculer NbIncCy = 'ENTI' (BOITE_US.'DONNEES'.'INCREMENTS_CYCLE') ; 'MESS' 'Nombre d increment par cycle incorrect' ; 'FINSI' ; * * Compteur cycle, increment par cycle, traces debug BOITE_US.'INFOS' = 'TABLE' ; BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' = 1 ; BOITE_US.'INFOS'.'INDICE_INCREMENT_ACTUEL' = 1 ; BOITE_US.'INFOS'.'NB_INCREMENTS_PAR_CYCLE' = NbIncCy ; BOITE_US.'INFOS'.'NB_CYCLES_RESTANTS' = 'ENTI' (BOITE_US.'DONNEES'.'NB_CYCLES'); BOITE_US.'INFOS'.'TRACE_DEBUG' = FAUX ; BOITE_US.'INFOS'.'UNSURT' = 1. '/' BOITE_US.'DONNEES'.'PERIODE' ; * * Doit-on recalculer les pas de temps BOITE_US.'INFOS'.'CALCUL_PAS' = VRAI ; BOITE_US.'INFOS'.'CALCUL_PAS' = BOITE_US.'DONNEES'.'CALCUL_TEMPS'; 'FINSI' ; * * Dimension du calcul effectue * * Listes de composantes et de valeurs (pour @USCALC) BOITE_US.'INFOS'.'LFORCE' = LCOMPF ; * * Informations sur le chargement en deplacement impose * --- Instant de debut du chargement BOITE_US.'INFOS'.'T_DEBUT_DEPI' = TDEDEP ; * --- Valeur max. du chargement BOITE_US.'INFOS'.'DEPLA_IMPOSE' = ORDMAX '*' FLXVAL ; * --- Composante concernee * * Indices et temps des cycles BOITE_US.'POST' = 'TABLE' ; BOITE_US.'POST'.'INDICES_CYCLE' = 'TABLE' ; * * Nom du fichier de sauvegarde BOITE_US.'INFOS'.'ISAVE' = FAUX ; BOITE_US.'INFOS'.'ISAVE' = BOITE_US.'DONNEES'.'ISAVE' ; 'SI' (BOITE_US.'INFOS'.'ISAVE') ; NOMFIC = BOITE_US.'DONNEES'.'NOM_SVGD' ; 'FINSI' ; BOITE_US.'INFOS'.'NOM_SVGD' = NOMFIC; 'FINSI' ; 'FINSI' ; * 'FINSI' ; * BOITE_US. ID_BU .'CZERO' = CZERO; * * Indices remplis dans @USCALC BOITE_US. ID_BU .'GLISSEMENT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'CISAILLEMENT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'PRESSION_CONTACT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'CYCLE_DE_FRETTING' = 'TABLE' ; * * Indices remplis dans @USPROF BOITE_US. ID_BU .'USURE_TOTALE' = CZERO ; BOITE_US. ID_BU .'EVO_USURE_TOTALE' = 'TABLE' ; * * Indices remplis dans @USPOST BOITE_US. ID_BU .'PRESSION_MOYENNE_CYCLE' = 'TABLE' ; BOITE_US. ID_BU .'CISAILLEMENT_MOYEN_CYCLE' = 'TABLE' ; BOITE_US. ID_BU .'GLISSEMENT_CYCLE' = 'TABLE' ; * * Creation de maillages utilises dans @USDEPL 'SI' (BOITE_US.'INFOS'.'ITRID') ; MESHZ = TATMP. 1 ; 'SINON' ; 'FINSI' ; BOITE_US. ID_BU .'MAIL_PSIP' = MESHZ ; * * Modele utilise pour les calculs avec INTG BOITE_US. ID_BU .'MODINTG' = MODINTG ; * * Direction selon laquelle est appliquee l'usure LCOMPF = BOITE_US.'INFOS'.'LFORCE' ; NORVINT = NORVINT ** 0.5 ; CHVNINT = CHVNINT '/' NORVINT ; BOITE_US. ID_BU .'VNORM_INTE' = CHVNINT ; * * Direction(s) tangentielle(s) pour le cycle d'usure * VTANGENT n'est pas utilise mais on le conserve pour le moment 'SI' (BOITE_US.'INFOS'.'ITRID') ; 'SI' (('<EG' NORMAXI 1.E-6) 'OU' ('<EG' NORMINI 1.E-6)) ; 'FINSI' ; NORVTG1 = NORVTG1 ** 0.5 ; CHVTGT1 = CHVTGT1 '/' NORVTG1 ; NORVTG2 = NORVTG2 ** 0.5 ; CHVTGT2 = CHVTGT2 '/' NORVTG2 ; BOITE_US. ID_BU .'VTANGEN1' = CHVTGT1 ; BOITE_US. ID_BU .'VTANGEN2' = CHVTGT2 ; 'SINON' ; BOITE_US. ID_BU .'VTANGENT' = CHTANGT ; 'FINSI' ; * * Direction pour calculer la reaction tangentielle du cycle d'usure LCOMPU = BOITE_US.'INFOS'.'LDEPLA' ; BOITE_US. ID_BU .'DIRE_REACTION' = CHREACT ; * 'SINON' ; * *----------------------------------------------------------------------* * - REINITIALISATIONS A LA FIN DE CHAQUE CYCLE * *----------------------------------------------------------------------* 'SI' (BOITE_US.'INFOS'.'FINCYCLE') ; BOITE_US. ID_BU .'GLISSEMENT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'CISAILLEMENT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'PRESSION_CONTACT' = 'TABLE' 'ESCLAVE' ; BOITE_US. ID_BU .'DENS_ENER_DISS_CYCLE' = CHPINI ; 'FINSI' ; 'FINSI' ; * 'FINP' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales