Télécharger filmtopo.procedur

Retour à la liste

Numérotation des lignes :

  1. * FILMTOPO PROCEDUR GOUNAND 26/06/09 21:15:06 12566
  2. ************************************************************************
  3. * NOM : FILMTOPO
  4. * DESCRIPTION : Fait un film avec la table de sortie de REMA ou TRIA
  5. * 'TOPO'
  6. * Cette table contient une sequence de maillage en format
  7. * compresse a l'indice seqtopo (on n'a stocke que les
  8. * differences entre deux maillages consecutifs)
  9. *
  10. * En entree, on a demande la sortie de tous les maillages
  11. * avec :
  12. * tparam = tabl ;
  13. * tparam . 'sort_seqm' = 1 ;
  14. * mailap = REMA mailav metriq tparam ;
  15. * FILMTOPO tparam ;
  16. *
  17. *
  18. * LANGAGE : GIBIANE-CAST3M
  19. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  20. * mail : stephane.gounand@cea.fr
  21. **********************************************************************
  22. * VERSION : v1, 02/06/2026, version initiale
  23. * HISTORIQUE : v1, 02/06/2026, creation
  24. * HISTORIQUE :
  25. * HISTORIQUE :
  26. ************************************************************************
  27. *
  28. 'DEBPROC' FILMTOPO ;
  29. 'ARGU' tfilm*'TABLE' ;
  30. 'ARGUMENT' motcle/'MOT' ;
  31. *
  32. 'SI' ('EXIS' motcle) ;
  33. *
  34. lmotcle = 'MOTS' 'IMPR' ;
  35. 'SI' ('NON' ('EXISTE' lmotcle motcle)) ;
  36. 'ERRE' 1052 'AVEC' motcle 'IMPR' ;
  37. 'FINSI' ;
  38. limpr = vrai ;
  39. 'SINO' ;
  40. limpr = faux ;
  41. 'FINS' ;
  42. *
  43. tok = 'EXIS' tparam 'sort_seqm' ;
  44. 'SI' tok ;
  45. tok = 'EGA' (tparam . 'sort_seqm') 1 ;
  46. 'FINS' ;
  47. 'SI' ('NON' tok) ;
  48. 'ERRE' 'tparam . ''sort_seqm'' NEG 1' ;
  49. 'FINS' ;
  50. * Filmons
  51. seqtopo = tparam . 'seqtopo' ;
  52. metva = tparam . 'metrique' ;
  53. lmet = ('NEG' metva faux) ;
  54. *
  55. tstat = tparam . 'tstat' ;
  56. lnchange = tstat . 'lnchange' ;
  57. lipass = tstat . 'lipass' ;
  58. lpcritq = tparam . 'critquals_eff' ; dlp = 'DIME' lpcritq ; lcritq = 'EXTR' lpcritq dlp ;
  59. * Consistance
  60. nmail = ('SOMM' lnchange) '+' 1 ;
  61. dim3 = ('DIME' seqtopo) '-' 1 ;
  62. dim = dim3 '/' 3 ;
  63. 'SI' ('NEG' ('*' dim 3) dim3) ;
  64. 'ERRE' 'Dimension liste maillage non divisible par 3' ;
  65. 'FINS' ;
  66. nmail2 = dim '+' 1 ;
  67. 'SI' ('NEG' nmail nmail2) ;
  68. 'ERRE' 'Pb nombre de maillage' ;
  69. 'FINS' ;
  70. 'SI' limpr ;
  71. 'MESS' 'FILMTOPO: Nombre de maillages=' nmail ;
  72. 'FINS' ;
  73. idxtopo = 1 ;
  74. curtopo = 'EXTR' seqtopo idxtopo ;
  75. imail = 1 ;
  76. netap = 'DIME' lnchange ;
  77. 'SI' limpr ;
  78. 'MESS' 'FILMTOPO: Nombre d''etapes=' netap ;
  79. 'FINS' ;
  80. lfirst = vrai ;
  81. vdim = 'VALE' 'DIME' ;
  82. 'REPE' iietap netap ;
  83. ietap = &iietap ;
  84. nchange = 'EXTR' lnchange ietap ;
  85. ipass = 'EXTR' lipass ietap ;
  86. lcritq = 'EXTR' lpcritq ipass ;
  87. jcritq = 'ENTI' ('EXTR' lcritq 1) 'PROC' ;
  88. 'SI' lmet ;
  89. pcritq = 'EXTR' lcritq 2 ;
  90. qcritq = 'EXTR' lcritq 3 ;
  91. 'FINS' ;
  92. 'SI' lfirst ;
  93. 'SI' lmet ;
  94. qcurt = 'INDI' 'TOPO' curtopo metva lcritq ;
  95. 'SINO' ;
  96. qcurt = 'INDI' 'TOPO' curtopo lcritq ;
  97. 'FINS' ;
  98. qcurtg = 'CHAN' qcurt ('MODE' ('EXTR' qcurt 'MAIL') 'THERMIQUE') 'GRAVITE' ;
  99. lr = 'EXTR' qcurtg 'VALE' 'TOPO' ;
  100. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  101. miq = 'EXTR' lro 1 ; maq = 'EXTR' lro dlr ;
  102. meq = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  103. txt2 = 'CHAI' 'FORMAT' '(E11.3)' imail ' /' ' ' nmail ' pass' ' ' ipass
  104. ' Qmin=' miq ' Qmax=' maq ' Qmed=' meq ' crit=' jcritq ;
  105. 'SI' lmet ;
  106. txt2 = 'CHAINE' 'FORMAT' '(F4.1)' txt2 ' p=' pcritq ' q=' qcritq ;
  107. 'FINS' ;
  108. 'SI' limpr ;
  109. 'MESS' 'FILMTOPO:' ' ' txt2 ;
  110. 'FINS' ;
  111. 'SI' ('<EG' vdim 2) ;
  112. 'TRAC' curtopo 'TITR' txt2 ;
  113. 'SINO' ;
  114. curtopoq = 'CHAN' curtopo 'QUAF' ;
  115. 'TRAC' 'CACH' curtopoq 'TITR' txt2 ;
  116. 'FINS' ;
  117. lfirst = faux ;
  118. 'FINS' ;
  119. 'REPE' iichange nchange ;
  120. ichange = &iichange ;
  121. imail = imail '+' 1 ;
  122. idxtopo = '+' idxtopo 1 ;
  123. lmi = 'EXTR' seqtopo idxtopo;
  124. idxtopo = '+' idxtopo 1 ;
  125. topoavi = 'EXTR' seqtopo idxtopo ;
  126. curtopo = 'DIFF' curtopo topoavi ;
  127. idxtopo = '+' idxtopo 1 ;
  128. topoapi = 'EXTR' seqtopo idxtopo ;
  129. curtopo = curtopo 'ET' topoapi ;
  130. 'SI' lmet ;
  131. qcurt = 'INDI' 'TOPO' curtopo metva lcritq ;
  132. 'SINO' ;
  133. qcurt = 'INDI' 'TOPO' curtopo lcritq ;
  134. 'FINS' ;
  135. qcurtg = 'CHAN' qcurt ('MODE' ('EXTR' qcurt 'MAIL') 'THERMIQUE') 'GRAVITE' ;
  136. lr = 'EXTR' qcurtg 'VALE' 'TOPO' ;
  137. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  138. miq = 'EXTR' lro 1 ; maq = 'EXTR' lro dlr ;
  139. meq = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  140. txt2 = 'CHAI' 'FORMAT' '(E11.3)' imail ' /' ' ' nmail ' pass' ' ' ipass
  141. ' Qmin=' miq ' Qmax=' maq ' Qmed=' meq ' crit=' jcritq ;
  142. 'SI' lmet ;
  143. txt2 = 'CHAINE' 'FORMAT' '(F4.1)' txt2 ' p=' pcritq ' q=' qcritq ;
  144. 'FINS' ;
  145. 'SI' limpr ;
  146. 'MESS' 'FILMTOPO:' ' ' txt2 ;
  147. 'FINS' ;
  148. 'SI' ('<EG' vdim 2) ;
  149. 'TRAC' curtopo 'TITR' txt2 ;
  150. 'SINO' ;
  151. curtopoq = 'CHAN' curtopo 'QUAF' ;
  152. 'TRAC' 'CACH' curtopoq 'TITR' txt2 ;
  153. 'FINS' ;
  154. 'FIN' iichange ;
  155. 'FIN' iietap ;
  156. *
  157. * End of procedure file FILMTOPO
  158. *
  159. 'FINPROC' ;
  160.  
  161.  

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