Télécharger toposauv.procedur

Retour à la liste

Numérotation des lignes :

  1. * TOPOSAUV PROCEDUR FD218221 23/11/29 21:15:15 11799
  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. ** 3.0 2021/04/15 Make it compatible with TOPOPTIM V3.0
  11. ** 2.0 2018/02/09 Always save the last cycle data in case of early
  12. ** stop of the optimization process to allow restarting
  13. ** it back and delete the previous cycle data if it had
  14. ** not to be saved
  15. ** 1.0 2017/04/18
  16. ************************************************************************
  17.  
  18. DEBP TOPOSAUV tab0*'TABLE' ;
  19.  
  20. SI (tab0.'MES_SAUVEGARDES'.'TOPOLOGIE' OU
  21. tab0.'MES_SAUVEGARDES'.'MAILLAGE' OU
  22. tab0.'MES_SAUVEGARDES'.'RESOLUTION') ;
  23.  
  24. * 1) We save the data from the last cycle (in case the
  25. * optimization process is stopped prematurely)
  26. cy0 = tab0.'WTABLE'.'CYCLE' ;
  27. froz0 = EXIS tab0 'ZONE_FIGEE' ;
  28. tab0.'TOPOLOGIE'.cy0 = tab0.'WTABLE'.'TOPOLOGIE' ;
  29. SI froz0 ;
  30. tab0.'TOPOLOGIE'.cy0 = tab0.'TOPOLOGIE'.cy0 + tab0.'WTABLE'.'UN'.(2) ;
  31. FINS ;
  32. SI tab0.'MES_SAUVEGARDES'.'MAILLAGE' ;
  33. tab0.'MAILLAGE'.cy0 = tab0.'WTABLE'.'MAILLAGE'.'A' ;
  34. FINS ;
  35. SI tab0.'MES_SAUVEGARDES'.'RESOLUTION' ;
  36. tab0.'RESOLUTION'.cy0 = tab0.'WTABLE'.'RESOLUTION'.'A' ;
  37. FINS ;
  38.  
  39. * 2) Delete the previous cycle if it is not in
  40. * CYCLES_SAUVEGARDES
  41. cy1 = cy0 - 1 ;
  42. SI (NEG cy1 0) ;
  43. SI (NON tab0.'MES_SAUVEGARDES'.'TOPOLOGIE') ;
  44. SI (EXIS (tab0.'TOPOLOGIE') cy1) ;
  45. tab0.'TOPOLOGIE' = ENLE (tab0.'TOPOLOGIE') cy1 ;
  46. FINS ;
  47. FINS ;
  48. SI (NON (EXIS tab0.'CYCLES_SAUVEGARDES' cy1)) ;
  49. SI (EXIS (tab0.'TOPOLOGIE') cy1) ;
  50. tab0.'TOPOLOGIE' = ENLE (tab0.'TOPOLOGIE') cy1 ;
  51. FINS ;
  52. SI (EXIS (tab0.'MAILLAGE') cy1) ;
  53. tab0.'MAILLAGE' = ENLE (tab0.'MAILLAGE') cy1 ;
  54. FINS ;
  55. SI (EXIS (tab0.'RESOLUTION') cy1) ;
  56. tab0.'RESOLUTION' = ENLE (tab0.'RESOLUTION') cy1 ;
  57. FINS ;
  58. FINS ;
  59. FINS ;
  60.  
  61. FINS ;
  62.  
  63. FINP ;
  64.  
  65.  
  66.  

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