Télécharger elno.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : elno.dgibi
  2. *************************************************************
  3. * TEST ELNO *
  4. * On teste l'operateur 'ELNO' sur un champ lineaire *
  5. * Le maillage est fait de TRI3 'ET' QUA4 *
  6. * *
  7. * On teste l'operateur 'ELNO' dans le cas VF *
  8. * *
  9. * A. BECCANTINI TTMF NOVEMBRE 1998 *
  10. *************************************************************
  11. * Janvier 2004: ajoute d'un cas test VF 2D
  12. * Janvier 2004: ajoute d'un cas test VF 3D
  13. *
  14.  
  15. 'OPTION' 'DIME' 2 ;
  16. 'OPTION' 'ELEM' 'QUA4' ;
  17. 'OPTION' 'ISOV' 'SULI' ;
  18. 'OPTION' 'ECHO' 0 ;
  19. 'OPTION' 'TRAC' 'X' ;
  20.  
  21. GRAPH = FAUX;
  22.  
  23. ************
  24. * MAILLAGE *
  25. ************
  26.  
  27. * r1 = rayon du demi-cercle obstacle
  28. * r2 = rayon du demi-cercle obstacle + domaine interieur
  29. * r3 = rayon du demi-cercle obstacle + domaine interieur + Entree
  30. * r4 = rayon de la ligne moyen
  31. * coef1 = coefficient de l'ellipse
  32.  
  33. raf = 25 ;
  34. coef1 = 1.8 ;
  35. NbCer = ( 2 '*' raf) '+' 1 ;
  36. NbDroi = ( 2 '*' raf) '+' 1 ;
  37.  
  38. r1 = 1.0 ;
  39. r2 = 2.85 ;
  40. dx = (r2 '-' r1) '/' NbCer ;
  41. r3 = r2 '+' dx ;
  42.  
  43.  
  44.  
  45. * 0 < icel < 1
  46.  
  47. icel = 0.1;
  48. r4 = r1 '+' ((r2 '-' r1) '*' icel) ;
  49. r40 = ( r2 '/' coef1) ;
  50. r5 = r1 '+' ((r40 '-' r1) '*' icel) ;
  51.  
  52.  
  53. A0 = 0.0 0.0 ;
  54. A1 = 0.0 r1 ;
  55. A2 = 0.0 r2 ;
  56. A3 = 0.0 r3 ;
  57. A4 = (-1.0 '*' r2 '/' coef1) 0.0 ;
  58. A5 = (-1.0 '*' r3 '/' coef1) 0.0 ;
  59. A6 = 0.0 (-1.0 '*' r2) ;
  60. A7 = 0.0 (-1.0 '*' r3) ;
  61. A8 = 0.0 (-1.0 '*' r1) ;
  62. A9 = (-1.0 '*' r1) 0.0 ;
  63. A10 = 0.0 (-1.0 '*' r4) ;
  64. A11 = (-1.0 '*' r5 ) 0.0 ;
  65. A12 = 0.0 (1.0 '*' r4) ;
  66.  
  67.  
  68. Lig1 = 'DROIT' NbDroi A1 A2 ;
  69. Lig2 = 'CER3' NbCer A2 A4 A6 ;
  70. Lig3 = 'DROIT' NbDroi A6 A8 ;
  71. Lig4 = 'CER3' NbCer A8 A9 A1 ;
  72.  
  73. Lig5 = 'DROIT' 1 A2 A3 ;
  74. Lig6 = 'CER3' NbCer A3 A5 A7 ;
  75. Lig7 = 'DROIT' 1 A7 A6 ;
  76.  
  77. *
  78. **** Ligne pour evolution simmetrie
  79. *
  80. *
  81. 'OPTION' 'ELEM' 'TRI3' ;
  82. Domint = 'DALLER' Lig1 Lig2 Lig3 Lig4 ;
  83. 'OPTION' 'ELEM' 'QUA4' ;
  84. Entree = 'DALLER' Lig5 Lig6 Lig7 Lig2 'COULEUR' 'ROUGE' ;
  85.  
  86. 'ELIMINATION' Entree Domint 1D-4 ;
  87.  
  88. Fr1 = Lig3 'TRANSLATION' 1 (dx 0.0) 'COULEUR' 'VERT' ;
  89. Fr2 = Lig1 'TRANSLATION' 1 (dx 0.0) 'COULEUR' 'VERT' ;
  90.  
  91. Sortie = Fr1 'ET' Fr2 ;
  92. 'ELIMINATION' Sortie Domint 1D-4 ;
  93.  
  94. Front = Entree 'ET' Sortie ;
  95. 'ELIMINATION' Front 1D-4 ;
  96.  
  97. Domtot = Domint 'ET' Front ;
  98. 'ELIMINATION' Domtot 1D-4 ;
  99.  
  100.  
  101. $DOMTOT = 'DOMA' DOMTOT ;
  102. $DOMINT = 'DOMA' DOMINT 'INCL' $DOMTOT ;
  103.  
  104.  
  105. *************************************************
  106. ***** TEST D'ELNO SUR UN CHAMP CONSTANTE *******
  107. *************************************************
  108.  
  109.  
  110. TCHPOS = 'KCHT' $DOMTOT 'SCAL' 'SOMMET' 4.1 ;
  111.  
  112. TCHPOC = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' 4.1 ;
  113.  
  114. TCHPOS1 = 'ELNO' TCHPOC $DOMTOT ;
  115.  
  116. ERRO = TCHPOS1 '-' TCHPOS ;
  117. ERRO = ('ABS' ERRO) '/' ('ABS' TCHPOS) ;
  118.  
  119. *
  120. **** On test 'ELNO' sur le maillage interieur
  121. *
  122.  
  123. TCHPOS1 = 'KCHT' $DOMTOT 'SCAL' 'SOMMET' TCHPOS1
  124. ('REDU' ('CONTOUR' DOMTOT) TCHPOS);
  125. ERRO1 = TCHPOS1 '-' TCHPOS ;
  126. ERRO1 = ('ABS' ERRO1) '/' ('ABS' TCHPOS) ;
  127.  
  128. 'SI' GRAPH;
  129. 'OPTION' 'ISOV' 'LIGN' ;
  130. NELE = 'NBEL' DOMTOT ;
  131. 'TRACER' DOMTOT 'TITR' 'Maillage' ;
  132. 'TRACER' DOMTOT TCHPOS ('CONTOUR' DOMTOT) 15
  133. 'TITRE' ('CHAINE' 'CHAMP ORIGINAL, Nelem =' NELE) ;
  134. 'TRACER' DOMTOT TCHPOS1 ('CONTOUR' DOMTOT) 15
  135. 'TITRE' ('CHAINE' 'CHAMP ELNO, Nelem =' NELE) ;
  136. 'TRACER' DOMTOT ERRO 15 ('CONTOUR' DOMTOT)
  137. 'TITRE' ('CHAINE' 'Erreur, Nelem =' NELE) ;
  138. 'TRACER' DOMTOT ERRO1 15 ('CONTOUR' DOMTOT) 'TITRE'
  139. ('CHAINE' 'Erreur sur le domaine interieur, Nelem=', NELE) ;
  140. 'FINSI' ;
  141.  
  142. 'SI' (('MAXIMUM' ERRO ) '>' 1D-15);
  143. 'MESSAGE' 'Erreur =' ('MAXIMUM' ERRO) ;
  144. 'ERREUR' 5 ;
  145. 'FINSI' ;
  146.  
  147. 'SI' (('MAXIMUM' ERRO1 'ABS' ) '>EG' 1D-15) ;
  148. 'MESSAGE' 'Erreur =' ('MAXIMUM' ERRO1) ;
  149. 'ERREUR' 5 ;
  150. 'FINSI' ;
  151.  
  152. *************************************************
  153. ***** TEST D'ELNO SUR UN CHAMP LINEAIRE *******
  154. *************************************************
  155.  
  156. XXS YYS = 'COORDONNEE' ( $DOMTOT . 'SOMMET' ) ;
  157. TCHPOS = (3 '*' XXS) '+' (4 '*' YYS) ;
  158. tcel = 'MINIMUM' TCHPOS ;
  159. TCHPOS = ((-1 '*' tcel) '+' 1) '+' TCHPOS ;
  160. TCHPOS = 'KCHT' $DOMTOT 'SCAL' 'SOMMET' TCHPOS ;
  161.  
  162.  
  163. XXC YYC = 'COORDONNEE' ( $DOMTOT . 'CENTRE' ) ;
  164. TCHPOC = (3 '*' XXC) '+' (4 '*' YYC) ;
  165. TCHPOC = ((-1 '*' tcel) '+' 1) '+' TCHPOC ;
  166. TCHPOC = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' TCHPOC ;
  167.  
  168. TCHPOS1 = 'ELNO' TCHPOC $DOMTOT ;
  169.  
  170. ERRO = TCHPOS1 '-' TCHPOS ;
  171. ERRO = ('ABS' ERRO) '/' ('ABS' TCHPOS) ;
  172.  
  173. *
  174. **** On test 'ELNO' sur le maillage interieur
  175. *
  176.  
  177. TCHPOS1 = 'KCHT' $DOMTOT 'SCAL' 'SOMMET' TCHPOS1
  178. ('REDU' ('CONTOUR' DOMTOT) TCHPOS);
  179. ERRO1 = TCHPOS1 '-' TCHPOS ;
  180. ERRO1 = ('ABS' ERRO1) '/' ('ABS' TCHPOS) ;
  181.  
  182. 'SI' GRAPH;
  183. 'OPTION' 'ISOV' 'LIGN' ;
  184. NELE = 'NBEL' DOMTOT ;
  185. 'TRACER' DOMTOT 'TITR' 'Maillage' ;
  186. 'TRACER' DOMTOT TCHPOS ('CONTOUR' DOMTOT) 15
  187. 'TITRE' ('CHAINE' 'CHAMP ORIGINAL, Nelem =' NELE);
  188. 'TRACER' DOMTOT TCHPOS1 ('CONTOUR' DOMTOT) 15
  189. 'TITRE' ('CHAINE' 'CHAMP ELNO, Nelem =' NELE);
  190. 'TRACER' DOMTOT ERRO 15 ('CONTOUR' DOMTOT)
  191. 'TITRE' ('CHAINE' 'Erreur, Nelem =' NELE);
  192. 'TRACER' DOMTOT ERRO1 15 ('CONTOUR' DOMTOT) 'TITRE'
  193. ('CHAINE' 'Erreur sur le domaine interieur, Nelem=', NELE);
  194. 'FINSI' ;
  195.  
  196. 'SI' (('MAXIMUM' ERRO 'ABS' ) '>EG' 1D-1);
  197. 'MESSAGE' 'Erreur =' ('MAXIMUM' ERRO);
  198. 'ERREUR' 5;
  199. 'FINSI' ;
  200.  
  201. 'SI' (('MAXIMUM' ERRO1 'ABS' ) '>EG' 5D-2);
  202. 'MESSAGE' 'Erreur =' ('MAXIMUM' ERRO1);
  203. 'ERREUR' 5;
  204. 'FINSI' ;
  205.  
  206. *************************************************
  207. ***** PRINCIPLE DE MAXIMUM - MINIMUM *******
  208. *************************************************
  209.  
  210. TCHPOC = 'BRUIT' 'BLAN' 'UNIF' 0.0D0 1.0D0 $DOMTOT . 'CENTRE' ;
  211. TCHPOC = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' TCHPOC ;
  212. MAXC = 'MAXIMUM' TCHPOC ;
  213. MINC = 'MINIMUM' TCHPOC ;
  214.  
  215. TCHPOS1 = 'ELNO' TCHPOC $DOMTOT ;
  216. MAXS = 'MAXIMUM' TCHPOS1 ;
  217. MINS = 'MINIMUM' TCHPOS1 ;
  218.  
  219. ERRO = MAXC '-' MAXS ;
  220. ERRO1 = MINS '-' MINC ;
  221.  
  222. 'SI' ('OU' (ERRO < 0) (ERRO1 < 0));
  223. 'MESSAGE' 'Violation principe MAX MIN' ;
  224. 'FINSI' ;
  225.  
  226. *
  227. ****** VF
  228. *
  229. *
  230. TCHPOS = (3.0 '*' ('COORDONNEE' 1 ($DOMTOT . 'SOMMET')))
  231. '+' (2.0 '*' ('COORDONNEE' 2 ($DOMTOT . 'SOMMET'))) ;
  232. *
  233. TCHPOC = (3.0 '*' ('COORDONNEE' 1 ($DOMTOT . 'CENTRE')))
  234. '+' (2.0 '*' ('COORDONNEE' 2 ($DOMTOT . 'CENTRE'))) ;
  235. *
  236. GRADC = 'MANUEL' 'CHPO' ($DOMTOT . 'CENTRE') 2 'P1DX' 3.0
  237. 'P1DY' 2.0 ;
  238. ALLIMC = 'MANUEL' 'CHPO' ($DOMTOT . 'CENTRE') 1 'P1' 1.0 ;
  239.  
  240. TCHPOS1 = 'ELNO' 'VF' $DOMTOT TCHPOC GRADC ALLIMC ;
  241.  
  242. ERRO = 'MAXIMUM' (TCHPOS1 '-' TCHPOS) 'ABS' ;
  243.  
  244. 'SI' (ERRO > 1.0D-14) ;
  245. 'ERREUR' 'Probleme ELNO VF' ;
  246. 'FINSI' ;
  247.  
  248. * 3D VF
  249.  
  250. 'OPTION' 'DIME' 3 'ELEM' 'CUB8' ;
  251.  
  252. A1 = 0.0 0.0 0.0 ;
  253. A2 = 0.0 1.0 0.0 ;
  254. A3 = 1.0 0.0 0.0 ;
  255. A1A2A3 = A1 'DROIT' 3 A2 'DROIT' 4 A3 'DROIT' 2 A1 ;
  256. BAS1 = 'SURFACE' A1A2A3 'PLAN' ;
  257. BAS2 = BAS1 'PLUS' (1.0 1.0 1.0) ;
  258. DOMTOT = BAS1 'VOLUME' 4 BAS2 ;
  259. $DOMTOT = 'DOMA' DOMTOT ;
  260.  
  261. TCHPOS = (3.0 '*' ('COORDONNEE' 1 ($DOMTOT . 'SOMMET')))
  262. '+' (2.0 '*' ('COORDONNEE' 2 ($DOMTOT . 'SOMMET')))
  263. '+' (5.0 '*' ('COORDONNEE' 3 ($DOMTOT . 'SOMMET'))) ;;
  264. *
  265. TCHPOC = (3.0 '*' ('COORDONNEE' 1 ($DOMTOT . 'CENTRE')))
  266. '+' (2.0 '*' ('COORDONNEE' 2 ($DOMTOT . 'CENTRE')))
  267. '+' (5.0 '*' ('COORDONNEE' 3 ($DOMTOT . 'CENTRE'))) ;
  268. *
  269. GRADC = 'MANUEL' 'CHPO' ($DOMTOT . 'CENTRE') 3 'P1DX' 3.0
  270. 'P1DY' 2.0 'P1DZ' 5.0 ;
  271. ALLIMC = 'MANUEL' 'CHPO' ($DOMTOT . 'CENTRE') 1 'P1' 1.0 ;
  272.  
  273. TCHPOS1 = 'ELNO' 'VF' $DOMTOT TCHPOC GRADC ALLIMC ;
  274.  
  275. ERRO = 'MAXIMUM' (TCHPOS1 '-' TCHPOS) 'ABS' ;
  276.  
  277. 'SI' (ERRO > 1.0D-14) ;
  278. 'ERREUR' 'Probleme ELNO VF' ;
  279. 'FINSI' ;
  280.  
  281. 'FIN' ;
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  

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