Télécharger toposauv.procedur

Retour à la liste

Numérotation des lignes :

  1. * TOPOSAUV PROCEDUR CB215821 18/03/22 21:15:05 9786
  2.  
  3. ************************************************************************
  4. ** Procedure called by TOPOPTIM for saving some data
  5. **
  6. ** Author:
  7. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  8. **
  9. ** Version:
  10. ** 2.0 2018/02/09 Always save the last cycle data in case of early
  11. ** stop of the optimization process to allow restarting
  12. ** it back and delete the previous cycle data if it had
  13. ** not to be saved
  14. ** 1.0 2017/04/18
  15. ************************************************************************
  16.  
  17. DEBP TOPOSAUV tab0*'TABLE' ;
  18. SI (tab0.'MES_SAUVEGARDES'.'TOPOLOGIE' OU
  19. tab0.'MES_SAUVEGARDES'.'MAILLAGE' OU
  20. tab0.'MES_SAUVEGARDES'.'RESOLUTION') ;
  21. cy0 = tab0.'WTABLE'.'CYCLE' ;
  22.  
  23. * 1) We save the data from the last cycle (in case the
  24. * optimization process is stopped prematurely)
  25. froz0 = EXIS tab0 'ZONE_FIGEE' ;
  26. tab0.'TOPOLOGIE'.cy0 = tab0.'WTABLE'.'TOPOLOGIE' ;
  27. SI froz0 ;
  28. tab0.'TOPOLOGIE'.cy0 = tab0.'TOPOLOGIE'.cy0 +
  29. tab0.'WTABLE'.'UN'.(2) ;
  30. FINS ;
  31. SI tab0.'MES_SAUVEGARDES'.'MAILLAGE' ;
  32. tab0.'MAILLAGE'.cy0 = tab0.'WTABLE'.'MAILLAGE'.'A' ;
  33. SI froz0 ;
  34. tab0.'MAILLAGE'.cy0 = tab0.'MAILLAGE'.cy0 ET
  35. tab0.'WTABLE'.'MAILLAGE'.(2) ;
  36. FINS ;
  37. FINS ;
  38. SI tab0.'MES_SAUVEGARDES'.'RESOLUTION' ;
  39. tab0.'RESOLUTION'.cy0 = tab0.'WTABLE'.'RESOLUTION' ;
  40. FINS ;
  41.  
  42. * 2) Delete the previous cycle if it is not in
  43. * CYCLES_SAUVEGARDES
  44. cy1 = cy0 - 1 ;
  45. SI (NEG cy1 0) ;
  46. SI (NON tab0.'MES_SAUVEGARDES'.'TOPOLOGIE') ;
  47. SI (EXIS (tab0.'TOPOLOGIE') cy1) ;
  48. tab0.'TOPOLOGIE' = ENLE (tab0.'TOPOLOGIE') cy1 ;
  49. FINS ;
  50. FINS ;
  51. SI (NON (EXIS tab0.'CYCLES_SAUVEGARDES' cy1)) ;
  52. SI (EXIS (tab0.'TOPOLOGIE') cy1) ;
  53. tab0.'TOPOLOGIE' = ENLE (tab0.'TOPOLOGIE') cy1 ;
  54. FINS ;
  55. SI (EXIS (tab0.'MAILLAGE') cy1) ;
  56. tab0.'MAILLAGE' = ENLE (tab0.'MAILLAGE') cy1 ;
  57. FINS ;
  58. SI (EXIS (tab0.'RESOLUTION') cy1) ;
  59. tab0.'RESOLUTION' = ENLE (tab0.'RESOLUTION') cy1 ;
  60. FINS ;
  61. FINS ;
  62. FINS ;
  63. FINS ;
  64. FINP ;
  65.  
  66.  
  67.  

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