Télécharger @PRCA4.procedur

Retour à la liste

Numérotation des lignes :

  1. * @PRCA4 PROCEDUR MB234859 18/11/21 21:15:02 10007
  2. ***********************************************************************
  3. *
  4. * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT A DISPOSITION DES
  5. * UTILISATEURS PAR LE LTDS - Ecole Centrale Lyon (S. Fouvry et S.Garcin)
  6. *
  7. ***********************************************************************
  8. * PROCEDURE DE CALCUL @PRCA4
  9. *
  10. * Application du profil d'usure au maillage
  11. *
  12. * Entrees :
  13. * T1 : Table de PASAPAS
  14. * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer
  15. *
  16. * Sortie :
  17. * T1 : Table de PASAPAS avec les booleens mis a jour
  18. *
  19. * A appeler dans le jeu de donnees apres sortie de PASAPAS
  20. *
  21. ***********************************************************************
  22. DEBP @PRCA4 T1*'TABLE' ID_BU*'ENTIER';
  23.  
  24. * OPDefMsh : VRAI -> Trace le maillage deforme
  25. * OPEvOrIm : VRAI -> Trace Evolutions Ordonnees Importantes (dans le repere d'us
  26. OPDefMsh = FAUX ;
  27. OPEvOrIm = FAUX ;
  28.  
  29. BOITE_US = T1.'BOITES_USURES'. ID_BU ;
  30. VOL_REPA = BOITE_US.'VOLUME_REPARTITION' ;
  31. SUR_APPL = BOITE_US.'SURFACE_APPLICATION' ;
  32. SUR_APPU = BOITE_US.'SURFACE_APPUI' ;
  33. PT_REF_U = BOITE_US.'POINT_O_U' ;
  34. VEC_APPL = BOITE_US.'DIRECTION_APPLICATION' ;
  35. OuiUsCyl = BOITE_US.'USURE_CYCLIQUE' ;
  36. NCNECC = BOITE_US.'NCNECC' ;
  37. * Indice associe aux resultats du pas courant
  38. Inc = BOITE_US.'INDICE-STOCKAGE' ;
  39.  
  40. SI OuiUsCyl ;
  41. NouvUsU2 = BOITE_US.'USURE_APPLIQUEE' . NCNECC ;
  42. SINON;
  43. NouvUsU2 = BOITE_US.'USURE_APPLIQUEE' . (Inc - 1) ;
  44. FINSI ;
  45.  
  46. *********************************************************
  47. ** Changement de repere des coordonnees cartesiennes **
  48. *********************************************************
  49. ** U1 et U2 a exprimer dans le repere UX et UY **
  50.  
  51. * Direction du Vecteur Directeur U2 donnee par -VEC_APPL
  52. VEC_US_X = COOR VEC_APPL 1 ;
  53. VEC_US_Y = COOR VEC_APPL 2 ;
  54. N_VEC_US = ((VEC_US_X**2) + (VEC_US_Y**2))**(0.5) ;
  55. U2_X = -1. * VEC_US_X / N_VEC_US ;
  56. U2_Y = -1. * VEC_US_Y / N_VEC_US ;
  57. VDU2 = POIN U2_X U2_Y ;
  58.  
  59. * Direction normale a U2 => Vecteur Directeur U1
  60. U1_X = U2_Y ;
  61. U1_Y = -1. * U2_X ;
  62. VDU1 = POIN U1_X U1_Y ;
  63.  
  64. * Application du changement de repere
  65. CU1_VREP CU2_VREP = @CHREP PT_REF_U VDU1 VDU2 VOL_REPA ;
  66. CU1_SAPU CU2_SAPU = @CHREP PT_REF_U VDU1 VDU2 SUR_APPU ;
  67. CU1_SAPL CU2_SAPL = @CHREP PT_REF_U VDU1 VDU2 SUR_APPL ;
  68.  
  69. * Construction des surfaces Sources aux calculs d'interpolation
  70. * Extraction sous forme de valeurs pour construire des evolutions croissantes
  71. CU1_SAPU = EXTR CU1_SAPU 'VALE' ;
  72. CU2_SAPU = EXTR CU2_SAPU 'VALE' ;
  73. CU1_SAPL = EXTR CU1_SAPL 'VALE' ;
  74. CU2_SAPL = EXTR CU2_SAPL 'VALE' ;
  75.  
  76. EVU_SAPU = EVOL 'ROUG' 'MANU' 'U1' CU1_SAPU 'U2' CU2_SAPU ;
  77. EVU_SAPL = EVOL 'VERT' 'MANU' 'U1' CU1_SAPL 'U2' CU2_SAPL ;
  78.  
  79. EVU_SAPU = ORDO EVU_SAPU 'CROI' ;
  80. EVU_SAPL = ORDO EVU_SAPL 'CROI' ;
  81.  
  82. * Calcul du taux d'application d'usure via interpolation des positions d'appli
  83. U2APU_VR = IPOL CU1_VREP EVU_SAPU ;
  84. U2APL_VR = IPOL CU1_VREP EVU_SAPL ;
  85.  
  86. TauxApVR = (CU2_VREP - U2APU_VR) / (U2APL_VR - U2APU_VR) ;
  87.  
  88. * Calcul de l'usure a appliquer via interpolation du profil d'usure
  89. * calcule et application du taux d'appli
  90. PU2_SAPL = EXTR NouvUsU2 'VALE' ;
  91. EVPU2 = EVOL 'ROUG' 'MANU' 'U1' CU1_SAPL 'PU2' PU2_SAPL ;
  92. EVPU2 = ORDO EVPU2 'CROI' ;
  93.  
  94. SI OPEvOrIm ;
  95. DESS (EVU_SAPU ET EVU_SAPL ET EVPU2) 'LEGE';
  96. FINSI ;
  97.  
  98. PU2APL_V = IPOL CU1_VREP EVPU2 ;
  99. PU2_VREP = TauxApVR * PU2APL_V ;
  100.  
  101. * /!\ le profil d'usure doit être defini positivement pour user de la matiere
  102. * /!\ et negativement pour creer de la matiere
  103.  
  104. * Retour vers les coordonnees initiales : Recuperation des composantes en X et Y
  105. * via les composantes du vecteur d'application d'usure
  106. PUX_VREP = PU2_VREP * VEC_US_X / N_VEC_US ;
  107. PUY_VREP = PU2_VREP * VEC_US_Y / N_VEC_US ;
  108.  
  109. * Transformation de ces donnees pour creer le Champ par point de deplacement des
  110. ValPUX_V = EXTR PUX_VREP 'VALE' ;
  111. ValPUY_V = EXTR PUY_VREP 'VALE' ;
  112.  
  113. VREP_NOD = EXTR (COOR VOL_REPA 1) 'MAIL' ;
  114.  
  115. CHPO_Dep = MANU 'CHPO' VREP_NOD 2 'UX' ValPUX_V 'UY' ValPUY_V ;
  116. *
  117. * On effectue le delacement des noeuds sur la configuration deformee
  118. 'FORM' (T1.'WTABLE'.'GE0_DEB') ;
  119. DEPL 'PLUS' VREP_NOD CHPO_Dep ;
  120. 'FORM' (T1.'WTABLE'.'FOR0') ;
  121. *
  122. * Pour afficher le temps calcule
  123. T1.'FIN_CYCLE' = VRAI ;
  124. *
  125. SI OPDefMsh ;
  126. TRAC VOL_REPA ;
  127. FINSI ;
  128.  
  129. FINP ;
  130.  
  131.  
  132.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales