Télécharger @PRCA4.procedur

Retour à la liste

Numérotation des lignes :

  1. * @PRCA4 PROCEDUR MB234859 17/09/26 21:15:04 9567
  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. TT = T1 . 'TEMPS' ; Inc = (DIME TT) - 1 ;
  38. TpsEst = T1 . 'ESTIMATION'.'TEMPS' ;
  39. SI (TpsEst <EG 1.e-10) ; Inc = 0 ; FINSI ;
  40.  
  41. SI OuiUsCyl ;
  42. NouvUsU2 = BOITE_US.'USURE_APPLIQUEE' . NCNECC ;
  43. SINON;
  44. NouvUsU2 = BOITE_US.'USURE_APPLIQUEE' . (Inc - 1) ;
  45. FINSI ;
  46.  
  47. *********************************************************
  48. ** Changement de repere des coordonnees cartesiennes **
  49. *********************************************************
  50. ** U1 et U2 a exprimer dans le repere UX et UY **
  51.  
  52. * Direction du Vecteur Directeur U2 donnee par -VEC_APPL
  53. VEC_US_X = COOR VEC_APPL 1 ;
  54. VEC_US_Y = COOR VEC_APPL 2 ;
  55. N_VEC_US = ((VEC_US_X**2) + (VEC_US_Y**2))**(0.5) ;
  56. U2_X = -1. * VEC_US_X / N_VEC_US ;
  57. U2_Y = -1. * VEC_US_Y / N_VEC_US ;
  58. VDU2 = POIN U2_X U2_Y ;
  59.  
  60. * Direction normale a U2 => Vecteur Directeur U1
  61. U1_X = U2_Y ;
  62. U1_Y = -1. * U2_X ;
  63. VDU1 = POIN U1_X U1_Y ;
  64.  
  65. * Application du changement de repere
  66. CU1_VREP CU2_VREP = @CHREP PT_REF_U VDU1 VDU2 VOL_REPA ;
  67. CU1_SAPU CU2_SAPU = @CHREP PT_REF_U VDU1 VDU2 SUR_APPU ;
  68. CU1_SAPL CU2_SAPL = @CHREP PT_REF_U VDU1 VDU2 SUR_APPL ;
  69. MyCU1SAP = CU1_SAPL ;
  70.  
  71. * Construction des surfaces Sources aux calculs d'interpolation
  72. * Extraction sous forme de valeurs pour construire des evolutions croissantes
  73. CU1_SAPU = EXTR CU1_SAPU 'VALE' ;
  74. CU2_SAPU = EXTR CU2_SAPU 'VALE' ;
  75. CU1_SAPL = EXTR CU1_SAPL 'VALE' ;
  76. CU2_SAPL = EXTR CU2_SAPL 'VALE' ;
  77.  
  78. EVU_SAPU = EVOL 'ROUG' 'MANU' 'U1' CU1_SAPU 'U2' CU2_SAPU ;
  79. EVU_SAPL = EVOL 'VERT' 'MANU' 'U1' CU1_SAPL 'U2' CU2_SAPL ;
  80.  
  81. EVU_SAPU = ORDO EVU_SAPU 'CROI' ;
  82. EVU_SAPL = ORDO EVU_SAPL 'CROI' ;
  83.  
  84. * Calcul du taux d'application d'usure via interpolation des positions d'appli
  85. U2APU_VR = IPOL CU1_VREP EVU_SAPU ;
  86. U2APL_VR = IPOL CU1_VREP EVU_SAPL ;
  87.  
  88. TauxApVR = (CU2_VREP - U2APU_VR) / (U2APL_VR - U2APU_VR) ;
  89.  
  90. * Calcul de l'usure a appliquer via interpolation du profil d'usure
  91. * calcule et application du taux d'appli
  92. PU2_SAPL = EXTR NouvUsU2 'VALE' ;
  93. MyEvo = EVOL 'JAUN' 'MANU' 'UX' CU1_SAPL 'PY' PU2_SAPL;
  94.  
  95. EVPU2 = EVOL 'ROUG' 'MANU' 'U1' CU1_SAPL 'PU2' PU2_SAPL ;
  96. EVPU2 = ORDO EVPU2 'CROI' ;
  97. SI OPEvOrIm ;
  98. DESS (EVU_SAPU ET EVU_SAPL ET EVPU2) 'LEGE';
  99. FINSI ;
  100.  
  101. PU2APL_V = IPOL CU1_VREP EVPU2 ;
  102. PU2_VREP = TauxApVR * PU2APL_V ;
  103.  
  104. * /!\ le profil d'usure doit être defini positivement pour user de la matiere
  105. * /!\ et negativement pour creer de la matiere
  106.  
  107. * Retour vers les coordonnees initiales : Recuperation des composantes en X et Y
  108. * via les composantes du vecteur d'application d'usure
  109. PUX_VREP = PU2_VREP * VEC_US_X / N_VEC_US ;
  110. PUY_VREP = PU2_VREP * VEC_US_Y / N_VEC_US ;
  111.  
  112. * Transformation de ces donnees pour creer le Champ par point de deplacement des
  113. ValPUX_V = EXTR PUX_VREP 'VALE' ;
  114. ValPUY_V = EXTR PUY_VREP 'VALE' ;
  115.  
  116. VREP_NOD = EXTR CU1_VREP 'MAIL' ;
  117. VREP_NOD = EXTR (COOR VOL_REPA 1) 'MAIL' ;
  118.  
  119. CHPO_Dep = MANU 'CHPO' VREP_NOD 2 'UX' ValPUX_V 'UY' ValPUY_V ;
  120. DEPL 'PLUS' VREP_NOD CHPO_Dep ;
  121.  
  122. CHAM_Dep = CHAN 'CHAM' CHPO_Dep VOL_REPA ;
  123.  
  124. SI OPDefMsh ;
  125. TRAC VOL_REPA ;
  126. FINSI ;
  127.  
  128. FINP T1;
  129.  
  130.  

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