Télécharger proi1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : proi1.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. * NOM : PROI1
  6. * DESCRIPTION : Vérifie que PROI
  7. * OBJ1 = PROI | GEO2 CHEL1 |
  8. *
  9. * redonne presque la valeur exacte pour un champ linéaire
  10. * et un champ quadratique
  11. * interpolé sur un certain nombre d'éléments.
  12. *
  13. * LANGAGE : GIBIANE-CAST3M
  14. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  15. * mél : gounand@semt2.smts.cea.fr
  16. **********************************************************************
  17. * VERSION : v1, 02/05/2006, version initiale
  18. * HISTORIQUE : v1, 02/05/2006, création
  19. * HISTORIQUE :
  20. * HISTORIQUE :
  21. ************************************************************************
  22. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  23. * en cas de modification de ce sous-programme afin de faciliter
  24. * la maintenance !
  25. ************************************************************************
  26. *
  27. *
  28. interact= FAUX ;
  29. graph = FAUX ;
  30. 'OPTION' 'TRAC' 'X' ;
  31. *
  32. ok = VRAI ;
  33. *
  34. * imesh = (SEG2 TRI3 QUA4 CUB8 PRI6 TET4 PYR5)
  35. * ityp = (LINE QUAD QUAF)
  36. *
  37. *
  38. * On fait deux fois (linéaire puis quadratique)
  39. *
  40. 'REPETER' iidf 2 ;
  41. 'REPETER' iimesh 7 ;
  42. 'REPETER' iityp 3 ;
  43. idf = &iidf ;
  44. imesh = &iimesh ;
  45. ityp = &iityp ;
  46. *imesh = 6 ;
  47. *ityp = 3 ;
  48. 'SI' ('EGA' imesh 1) ;
  49. 'OPTION' 'DIME' 1 ;
  50. p1 = 'POIN' 0. ; p2 = 'POIN' 1.5 ; pt = 'POIN' 0.2 ;
  51. mt = 'MANUEL' 'SEG2' p1 p2 ;
  52. 'FINSI' ;
  53. 'SI' ('EGA' imesh 2) ;
  54. 'OPTION' 'DIME' 2 ;
  55. p1 = 0. 0. ; p2 = 1.5 0.1 ; p3 = 0.1 1.3 ;
  56. pt = 0.2 0.2 ;
  57. mt = 'MANUEL' 'TRI3' p1 p2 p3 ;
  58. 'FINSI' ;
  59. 'SI' ('EGA' imesh 3) ;
  60. 'OPTION' 'DIME' 2 ;
  61. p1 = 0. 0. ; p2 = 1.5 0.1 ;
  62. p3 = 1.4 1.3 ; p4 = 0.1 1.3 ;
  63. pt = 0.2 0.2 ;
  64. mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
  65. 'FINSI' ;
  66. 'SI' ('EGA' imesh 4) ;
  67. 'OPTION' 'DIME' 3 ;
  68. p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ;
  69. p3 = 1.4 1.3 0. ; p4 = 0.1 1.3 0. ;
  70. p5 = 0. 0. 1. ; p6 = 1.4 0.1 1. ;
  71. p7 = 1.4 1.3 1. ; p8 = 0.1 1.3 1. ;
  72. pt = 0.2 0.2 0.2 ;
  73. mt = 'MANUEL' 'CUB8' p1 p2 p3 p4 p5 p6 p7 p8 ;
  74. 'FINSI' ;
  75. 'SI' ('EGA' imesh 5) ;
  76. 'OPTION' 'DIME' 3 ;
  77. p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ; p3 = 0.1 1.3 0. ;
  78. p4 = 0. 0.2 1. ; p5 = 1.5 0.1 0. ; p6 = 0.1 1.3 0. ;
  79. pt = 0.2 0.2 0.2 ;
  80. mt = 'MANUEL' 'PRI6' p1 p2 p3 p4 p5 p6 ;
  81. 'FINSI' ;
  82. 'SI' ('EGA' imesh 6) ;
  83. 'OPTION' 'DIME' 3 ;
  84. p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ; p3 = 0.1 1.3 0. ;
  85. p4 = 0. 0.2 1. ;
  86. pt = 0.2 0.2 0.2 ;
  87. mt = 'MANUEL' 'TET4' p1 p2 p3 p4 ;
  88. 'FINSI' ;
  89. 'SI' ('EGA' imesh 7) ;
  90. 'OPTION' 'DIME' 3 ;
  91. p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ;
  92. p3 = 1.4 1.3 0. ; p4 = 0.1 1.3 0. ;
  93. p5 = 0. 0.1 1. ;
  94. pt = 0.2 0.2 0.2 ;
  95. mt = 'MANUEL' 'PYR5' p1 p2 p3 p4 p5 ;
  96. 'FINSI' ;
  97. 'SI' ('EGA' ityp 1) ;
  98. _mt = mt ;
  99. 'FINSI' ;
  100. 'SI' ('EGA' ityp 2) ;
  101. _mt = 'CHANGER' mt 'QUADRATIQUE' ;
  102. 'FINSI' ;
  103. 'SI' ('EGA' ityp 3) ;
  104. _mt = 'CHANGER' mt 'QUAF' ;
  105. 'FINSI' ;
  106. *
  107. * Les pyramides QUAF n'existent pas encore !
  108. *
  109. 'SI' ('NON' ('ET' ('EGA' imesh 7)
  110. ('EGA' ityp 3))) ;
  111. chex1 = '**' ('COORDONNEE' 1 _mt) idf ;
  112. * chex1 = ('COORDONNEE' 1 _mt) ;
  113. 'SI' graph ;
  114. 'TRACER' chex1 _mt ;
  115. 'FINSI' ;
  116. cchex1 = 'CHANGER' 'CHAM' chex1 _mt ;
  117. *
  118. ppt = 'MANUEL' 'POI1' pt ;
  119. cppt = '**' ('COORDONNEE' 1 ppt) idf ;
  120. * cppt = ('COORDONNEE' 1 ppt) ;
  121. *
  122. chax = 'PROI' ppt cchex1 ;
  123. *
  124. x1 = 'MAXIMUM' ('RESULT' chax) ;
  125. x2 = 'MAXIMUM' ('RESULT' cppt) ;
  126. dif = 'ABS' ('-' x1 x2) ;
  127. *
  128. 'SI' ('EGA' idf 1) ;
  129. crit = 1.D-12 ;
  130. 'SINON' ;
  131. 'SI' ('EGA' ityp 1) ;
  132. crit = 3.D-1 ;
  133. 'FINSI' ;
  134. 'SI' ('EGA' ityp 2) ;
  135. crit = 1.D-3 ;
  136. 'FINSI' ;
  137. 'SI' ('EGA' ityp 3) ;
  138. crit = 1.D-12 ;
  139. 'FINSI' ;
  140. 'FINSI' ;
  141. *
  142. test = ('<' dif crit) ;
  143. ok = ok 'ET' test ;
  144. *
  145. 'MESSAGE' ('CHAINE' 'idf = ' idf ' imesh = ' imesh
  146. ' ityp = ' ityp) ;
  147. 'MESSAGE' ('CHAINE' 'x1 = ' x1) ;
  148. 'MESSAGE' ('CHAINE' 'x2 = ' x2) ;
  149. 'MESSAGE' ('CHAINE' 'dif= ' dif) ;
  150. 'LISTE' test ;
  151. *
  152. 'FINSI' ;
  153. *
  154. 'FIN' iityp ;
  155. 'FIN' iimesh ;
  156. 'FIN' iidf ;
  157. *
  158. 'SI' ('NON' ok) ;
  159. 'ERREUR' 5 ;
  160. 'SINON' ;
  161. 'MESSAGE' 'tout sest bien passe' ;
  162. 'FINSI' ;
  163. *
  164. 'SI' interact ;
  165. 'OPTION' 'DONN' 5 ;
  166. 'FINSI' ;
  167. *
  168. * End of dgibi file PROI1
  169. *
  170. 'FIN' ;
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  

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