Télécharger nlin_tailmail.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : nlin_tailmail.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' echo 0 ;
  5. *
  6. 'DEBPROC' TAILMAIL ;
  7. 'ARGUMENT' _mt*'MAILLAGE' ;
  8. 'ARGUMENT' disc*'MOT ' ;
  9. 'ARGUMENT' direc*'POINT ' ;
  10. *
  11. vdim = 'VALEUR' 'DIME' ;
  12. numop = 1 ;
  13. numvar = 1 ;
  14. numder = vdim ;
  15. numdat = vdim ;
  16. numcof = 1 ;
  17. *
  18. A = ININLIN numop numvar numdat numcof numder ;
  19. A . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ;
  20. A . 'VAR' . 1 . 'DISC' = 'CSTE' ;
  21. A . 'VAR' . 1 . 'VALEUR' = 1.D0 ;
  22. 'REPETER' iidim vdim ;
  23. idim = &iidim ;
  24. A . 'DAT' . idim . 'NOMDDL' = 'MOTS' 'DUMM' ;
  25. A . 'DAT' . idim . 'DISC' = 'CSTE' ;
  26. A . 'DAT' . idim . 'VALEUR' = ('COORDONNEE' idim direc) ;
  27. 'FIN' iidim ;
  28. *
  29. A . 'COF' . 1 . 'COMPOR' = 'CHAINE' 'TAILDIRE' ;
  30. A . 'COF' . 1 . 'LDAT' = 'LECT' 1 PAS 1 vdim ;
  31. *
  32. A . 1 . 1 . 0 = 'LECT' 1 ;
  33. *
  34. numdat = 0 ;
  35. numcof = 0 ;
  36. B = ININLIN numop numvar numdat numcof numder ;
  37. B . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ;
  38. B . 'VAR' . 1 . 'DISC' = 'CSTE' ;
  39. B . 'VAR' . 1 . 'VALEUR' = 1.D0 ;
  40. B . 1 . 1 . 0 = 'LECT' ;
  41. *
  42. ctail = NLIN disc _mt A B 'ERF1' 'GAU7' ;
  43. vtail = 'MAXIMUM' ('RESULT' ctail) ;
  44. 'RESPRO' vtail ;
  45. 'FINPROC' ;
  46. *
  47. 'DEBPROC' CAS ;
  48. 'ARGUMENT' icas*'ENTIER' ;
  49. 'SI' ('EGA' icas 1) ;
  50. 'OPTION' 'DIME' 1 ;
  51. p1 = 'POIN' 0. ; p2 = 'POIN' PI ;
  52. tit = 'CHAINE' 'Segment' ;
  53. mt = 'MANUEL' 'SEG2' p1 p2 ;
  54. disc = 'LINE' ;
  55. direc = 'POIN' ('**' 2 0.5D0) ;
  56. _mt = 'CHANGER' mt 'QUAF' ;
  57. exact = PI ;
  58. tolerr = 1.D-12 ;
  59. 'FINSI' ;
  60. *
  61. 'SI' ('EGA' icas 2) ;
  62. 'OPTION' 'DIME' 2 ;
  63. p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
  64. tit = 'CHAINE' 'Triangle LINE 1 2 3' ;
  65. mt = 'MANUEL' 'TRI3' p1 p2 p3 ;
  66. disc = 'LINE' ;
  67. direc = PI ('**' 2 0.5D0) ;
  68. _mt = 'CHANGER' mt 'QUAF' ;
  69. exact = 2.D0 '*' ('**' 3 -0.5D0) ;
  70. tolerr = 1.D-12 ;
  71. 'FINSI' ;
  72. *
  73. 'SI' ('EGA' icas 3) ;
  74. 'OPTION' 'DIME' 2 ;
  75. p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
  76. tit = 'CHAINE' 'Triangle QUAI 1 3 2' ;
  77. mt = 'MANUEL' 'TRI3' p1 p3 p2 ;
  78. disc = 'QUAI' ;
  79. direc = ('+' PI 1.) ('**' 2 0.5D0) ;
  80. _mt = 'CHANGER' mt 'QUAF' ;
  81. exact = 2.D0 '*' ('**' 3 -0.5D0) ;
  82. tolerr = 1.D-12 ;
  83. 'FINSI' ;
  84. *
  85. 'SI' ('EGA' icas 4) ;
  86. 'OPTION' 'DIME' 2 ;
  87. p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
  88. tit = 'CHAINE' 'Triangle QUAF 3 2 1' ;
  89. mt = 'MANUEL' 'TRI3' p3 p2 p1 ;
  90. disc = 'QUAF' ;
  91. direc = ('**' 2 0.5D0) PI ;
  92. _mt = 'CHANGER' mt 'QUAF' ;
  93. exact = 2.D0 '*' ('**' 3 -0.5D0) ;
  94. tolerr = 1.D-12 ;
  95. 'FINSI' ;
  96. *
  97. 'SI' ('EGA' icas 5) ;
  98. 'OPTION' 'DIME' 2 ;
  99. p1 = 0. 0. ; p2 = PI 0. ; p3 = PI ('**' 2 0.5) ;
  100. p4 = 0. ('**' 2 0.5) ;
  101. tit = 'CHAINE' 'Rectangle QUAF 1' ;
  102. mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
  103. disc = 'QUAF' ;
  104. direc = 1. 0. ;
  105. _mt = 'CHANGER' mt 'QUAF' ;
  106. exact = PI '*' ('**' 2 0.5) ;
  107. tolerr = 1.D-12 ;
  108. 'FINSI' ;
  109. *
  110. 'SI' ('EGA' icas 6) ;
  111. 'OPTION' 'DIME' 2 ;
  112. p1 = 0. 0. ; p2 = PI 0. ; p3 = PI ('**' 2 0.5) ;
  113. p4 = 0. ('**' 2 0.5) ;
  114. tit = 'CHAINE' 'Rectangle QUAF 2' ;
  115. mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
  116. disc = 'QUAF' ;
  117. direc = 0. 1. ;
  118. _mt = 'CHANGER' mt 'QUAF' ;
  119. exact = ('**' 2 0.5) '*' ('**' 2 0.5) ;
  120. tolerr = 1.D-12 ;
  121. 'FINSI' ;
  122. *
  123. 'RESPRO' tit _mt disc direc exact tolerr ;
  124. 'FINPROC' ;
  125. ************************************************************************
  126. * NOM : NLIN_TAILMAIL
  127. * DESCRIPTION : Teste la loi de comportement TAILDIRE
  128. *
  129. *
  130. * LANGAGE : GIBIANE-CAST3M
  131. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  132. * mél : gounand@semt2.smts.cea.fr
  133. **********************************************************************
  134. * VERSION : v1, 26/07/2006, version initiale
  135. * HISTORIQUE : v1, 26/07/2006, création
  136. * HISTORIQUE :
  137. * HISTORIQUE :
  138. ************************************************************************
  139. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  140. * en cas de modification de ce sous-programme afin de faciliter
  141. * la maintenance !
  142. ************************************************************************
  143. *
  144. *
  145. interact= FAUX ;
  146. graph = FAUX ;
  147. verbose = FAUX ;
  148. 'SI' ('NON' interact) ;
  149. 'OPTION' 'TRAC' 'PS' ;
  150. 'SINON' ;
  151. 'OPTION' 'TRAC' 'X' ;
  152. * 'OPTION' 'TRAC' 'OPEN' ;
  153. 'FINSI' ;
  154. *
  155. tres = 'TABLE' ;
  156. *
  157. ncas = 6 ;
  158. mgau = 'GAU7' ;
  159. ok = VRAI ;
  160. 'REPETER' iicas ncas ;
  161. icas = &iicas ;
  162. *icas = 6 ;
  163. tit _mt disc direc exact tolerr = CAS icas ;
  164. ldepl = 'MOTS' 'UX' 'UY' 'UZ' ;
  165. 'SI' graph ;
  166. 'REPETER' iidim ('VALEUR' 'DIME') ;
  167. idim = &iidim ;
  168. cvec = 'MANUEL' 'CHPO' _mt 1 ('EXTRAIRE' ldepl idim)
  169. ('COORDONNEE' idim direc) ;
  170. 'SI' ('EGA' idim 1) ;
  171. cvtot = cvec ;
  172. 'SINON' ;
  173. cvtot = '+' cvtot cvec ;
  174. 'FINSI' ;
  175. 'FIN' iidim ;
  176. vtot = 'VECTEUR' cvtot 'DEPL' 'JAUN' ;
  177. 'TRACER' vtot _mt ;
  178. 'FINSI' ;
  179. *
  180. appro = TAILMAIL _mt disc direc ;
  181. *
  182. tes = '<' ('ABS' ('-' exact appro)) tolerr ;
  183. *
  184. ok = ok 'ET' tes ;
  185. *'SI' ('OU' verbose ('NON' tes)) ;
  186. 'MESSAGE' ('CHAINE' tit ' ' disc ' tolerr=' tolerr) ;
  187. 'MESSAGE' ('CHAINE' 'exact = ' exact
  188. ' exact - appro = ' ('-' exact appro)) ;
  189. 'SI' tes ; 'MESSAGE' ('CHAINE' 'tes = ok') ;
  190. 'SINON' ; 'MESSAGE' ('CHAINE' 'tes = KO') ; 'FINSI' ;
  191. *'FINSI' ;
  192. 'FIN' iicas ;
  193. 'SI' ok ;
  194. 'MESSAGE' ('CHAINE' 'Tout sest bien passe') ;
  195. 'SINON' ;
  196. 'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ;
  197. 'FINSI' ;
  198. *'LISTE' matm1 ; 'LISTE' matm2 ;
  199. 'SI' interact ;
  200. 'OPTION' 'DONN' 5 ;
  201. 'FINSI' ;
  202. 'SI' ('NON' ok) ;
  203. 'ERREUR' 5 ;
  204. 'FINSI' ;
  205. *
  206. * End of dgibi file NLIN_TAILMAIL
  207. *
  208. 'FIN' ;
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  

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