Télécharger ligne.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : ligne.dgibi
  2. 'OPTI' echo 0 ;
  3. ************************************************************************
  4. ************************************************************************
  5. ************************************************************************
  6. * NOM : LIGNE
  7. * DESCRIPTION : Test de verification des operations de creations
  8. * de ligne
  9. * En particulier les operateurs DROI et CERC
  10. * En particulier les densites affectees aux noeuds
  11. * (calcul via decoup.eso) qui etaient incorrectes
  12. * avant ce cas-test.
  13. *
  14. * LANGAGE : GIBIANE-CAST3M
  15. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  16. * mel : stephane.gounand@cea.fr
  17. **********************************************************************
  18. * VERSION : v1, 12/08/2025, version initiale
  19. * HISTORIQUE : v1, 12/08/2025, création
  20. * HISTORIQUE :
  21. * HISTORIQUE :
  22. ************************************************************************
  23. *
  24. interact=faux ;
  25. *
  26. lok = vrai ;
  27. *
  28. * Cas analytique 1D : 2 segments : 1 de taille 1. et 1 de taille 0.5
  29. * cad une progression geometrique de raison 0.5 sur la taille des elements
  30. * Pour les densites des noeuds, qui sont au nombre de 3, la progression est
  31. * egalement de raison 2 mais avec un decalage de sqrt(raison)
  32. * (probleme des piquets et des intervalles, choix aussi fait dans decoup.eso).
  33. * D'ou densite des noeuds : sqrt(2), sqrt(2)/2, sqrt(2)/4
  34. * coordonnees des noeuds : 0. , 1. , 1.5
  35. *
  36. 'OPTI' 'DIME' 1 'ELEM' 'SEG2' ;
  37. tol = ('VALE' 'PREC') '*' 10. ;
  38. n = 1 ;
  39. n2 = '**' 2. ('*' n -1) ;
  40. x2 = '-' 2. n2 ;
  41. sqr2 = 2. '**' 0.5 ;
  42. x1 = 0. ; x2 = 1.5 ;
  43. d1 = sqr2 ; d2 = sqr2 '/' 4. ;
  44. *'LIST' d1 ; 'LIST' d2 ;
  45. 'OPTI' 'DENS' d1 ;
  46. p0g = 'POIN' 0. ;
  47. p1g = 'POIN' x2 ;
  48. 'OPTI' 'DENS' d2 ;
  49. p0f = 'POIN' 0. ;
  50. p1f = 'POIN' x2 ;
  51. *
  52. liga = 'DROI' p0g p1f ;
  53. * Test 1 : coordonnees liga
  54. exliga = 'EVOL' 'CHPO' ('COOR' 1 liga) liga ;
  55. xliga = 'EXTR' exliga 'ORDO' 1 ;
  56. xligax = 'PROG' 0. 1. 1.5 ;
  57. dxliga = 'MAXI' ('-' xliga xligax) 'ABS' ;
  58. tst = 'EGA' dxliga 0. tol ;
  59. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor liga' ; 'FINS' ;
  60. lok = lok 'ET' tst ;
  61. * Test 2 : densites liga
  62. edliga = 'EVOL' 'CHPO' ('COOR' 2 liga) liga ;
  63. dliga = 'EXTR' edliga 'ORDO' 1 ;
  64. dligax = 'PROG' d1 ('/' sqr2 2.) d2 ;
  65. ddliga = 'MAXI' ('-' dliga dligax) 'ABS' ;
  66. tst = 'EGA' ddliga 0. tol ;
  67. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens liga' ; 'FINS' ;
  68. lok = lok 'ET' tst ;
  69. *
  70. *
  71. ligb = 'DROI' p1g p0f ;
  72. * Test 3 : coordonnees ligb
  73. exligb = 'EVOL' 'CHPO' ('COOR' 1 ligb) ligb ;
  74. xligb = 'EXTR' exligb 'ORDO' 1 ;
  75. xligbx = 'PROG' 1.5 0.5 0. ;
  76. dxligb = 'MAXI' ('-' xligb xligbx) 'ABS' ;
  77. tst = 'EGA' dxligb 0. tol ;
  78. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor ligb' ; 'FINS' ;
  79. lok = lok 'ET' tst ;
  80. * Test 4 : densites ligb
  81. edligb = 'EVOL' 'CHPO' ('COOR' 2 ligb) ligb ;
  82. dligb = 'EXTR' edligb 'ORDO' 1 ;
  83. dligbx = 'PROG' d1 ('/' sqr2 2.) d2 ;
  84. ddligb = 'MAXI' ('-' dligb dligbx) 'ABS' ;
  85. tst = 'EGA' ddligb 0. tol ;
  86. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens ligb' ; 'FINS' ;
  87. lok = lok 'ET' tst ;
  88. *
  89. *
  90. ligc = 'DROI' p0f p1g ;
  91. * Test 5 : coordonnees ligc
  92. exligc = 'EVOL' 'CHPO' ('COOR' 1 ligc) ligc ;
  93. xligc = 'EXTR' exligc 'ORDO' 1 ;
  94. xligcx = 'PROG' 0. 0.5 1.5 ;
  95. dxligc = 'MAXI' ('-' xligc xligcx) 'ABS' ;
  96. tst = 'EGA' dxligc 0. tol ;
  97. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor ligc' ; 'FINS' ;
  98. lok = lok 'ET' tst ;
  99. * Test 6 : densites ligc
  100. edligc = 'EVOL' 'CHPO' ('COOR' 2 ligc) ligc ;
  101. dligc = 'EXTR' edligc 'ORDO' 1 ;
  102. dligcx = 'PROG' d2 ('/' sqr2 2.) d1 ;
  103. ddligc = 'MAXI' ('-' dligc dligcx) 'ABS' ;
  104. tst = 'EGA' ddligc 0. tol ;
  105. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens ligc' ; 'FINS' ;
  106. lok = lok 'ET' tst ;
  107. *
  108. * 2D
  109. *
  110. OPTI 'DIME' 2 'ELEM' 'SEG2' 'DENS' 0.3 ;
  111. *
  112. * Lignes droites
  113. *
  114. p0 = 0. 0. ;
  115. p1 = 1. sqr2 ;
  116. lig0 = 'DROI' p0 p1 ;
  117. edlig0 = 'EVOL' 'CHPO' ('COOR' 3 lig0) lig0 ;
  118. dlig0 = 'EXTR' edlig0 'ORDO' 1 ;
  119. nlig0 = 'NBEL' lig0 ;
  120. * Test 7 Verif de consistance qd on impose le nombre de mailles
  121. lig0b = 'DROI' ('*' nlig0 -1) p0 p1 ;
  122. edlig0b = 'EVOL' 'CHPO' ('COOR' 3 lig0b) lig0b ;
  123. dlig0b = 'EXTR' edlig0b 'ORDO' 1 ;
  124. ddlig0 = 'MAXI' ('-' dlig0 dlig0b) 'ABS' ;
  125. tst = 'EGA' ddlig0 0. tol ;
  126. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens lig0b' ; 'FINS' ;
  127. * Test 8 Verif de consistance quand on inverse le sens
  128. lig0c = 'DROI' p0 p1 'DINI' 0.14 ;
  129. edlig0c = 'EVOL' 'CHPO' ('COOR' 3 lig0c) lig0c ;
  130. dlig0c = 'EXTR' edlig0c 'ORDO' 1 ;
  131. lig0d = 'INVE' ('DROI' p0 p1 'DFIN' 0.14) ;
  132. edlig0d = 'EVOL' 'CHPO' ('COOR' 3 lig0d) lig0d ;
  133. dlig0d = 'EXTR' edlig0d 'ORDO' 1 ;
  134. ddlig00 = 'MAXI' ('-' dlig0c dlig0d) 'ABS' ;
  135. tst = 'EGA' ddlig00 0. tol ;
  136. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens lig0d' ; 'FINS' ;
  137. *
  138. * Arcs de cercle faits de 3 manieres differentes
  139. *
  140. den = 0.1234 ;
  141. 'OPTI' 'DENS' den ;
  142. cen = 0. 0. ;
  143. p1 = 0. 1. ;
  144. lig1 = CERC 'ROTA' -90. p1 cen ;
  145. exlig1 = 'EVOL' 'CHPO' ('COOR' 1 lig1) lig1 ;
  146. xlig1 = 'EXTR' exlig1 'ORDO' 1 ;
  147. eylig1 = 'EVOL' 'CHPO' ('COOR' 2 lig1) lig1 ;
  148. ylig1 = 'EXTR' eylig1 'ORDO' 1 ;
  149. edlig1 = 'EVOL' 'CHPO' ('COOR' 3 lig1) lig1 ;
  150. dlig1 = 'EXTR' edlig1 'ORDO' 1 ;
  151. * Test 9 : densites lig1
  152. nlig1 = 'NBEL' lig1 ;
  153. dlig1x = 'PROG' den nlig1 * (PI '/' 2. '/' ('FLOT' nlig1)) ;
  154. ddlig1 = 'MAXI' ('-' dlig1 dlig1x) 'ABS' ;
  155. tst = 'EGA' ddlig1 0. tol ;
  156. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens lig1' ; 'FINS' ;
  157. lok = lok 'ET' tst ;
  158. *
  159. *
  160. lig2 = CERC p1 cen (1. 0.);
  161. exlig2 = 'EVOL' 'CHPO' ('COOR' 1 lig2) lig2 ;
  162. xlig2 = 'EXTR' exlig2 'ORDO' 1 ;
  163. eylig2 = 'EVOL' 'CHPO' ('COOR' 2 lig2) lig2 ;
  164. ylig2 = 'EXTR' eylig2 'ORDO' 1 ;
  165. edlig2 = 'EVOL' 'CHPO' ('COOR' 3 lig2) lig2 ;
  166. dlig2 = 'EXTR' edlig2 'ORDO' 1 ;
  167. * Test 10 : coordonnees lig2
  168. dxlig2 = 'MAXI' ('-' xlig1 xlig2) 'ABS' ;
  169. tst = 'EGA' dxlig2 0. tol ;
  170. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor x lig2' ; 'FINS' ;
  171. lok = lok 'ET' tst ;
  172. dylig2 = 'MAXI' ('-' ylig1 ylig2) 'ABS' ;
  173. tst = 'EGA' dylig2 0. tol ;
  174. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor y lig2' ; 'FINS' ;
  175. lok = lok 'ET' tst ;
  176. dlig2x = 'PROG' den ('-' nlig1 1) * (PI '/' 2. '/' ('FLOT' nlig1)) den ;
  177. ddlig2 = 'MAXI' ('-' dlig2 dlig2x) 'ABS' ;
  178. tst = 'EGA' ddlig2 0. tol ;
  179. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens lig2' ; 'FINS' ;
  180. lok = lok 'ET' tst ;
  181. *
  182. *
  183. aa = ('**' 2 (0.5)) '/' 2 ;
  184. lig3 = CER3 p1 (aa aa) (1. 0.);
  185. exlig3 = 'EVOL' 'CHPO' ('COOR' 1 lig3) lig3 ;
  186. xlig3 = 'EXTR' exlig3 'ORDO' 1 ;
  187. eylig3 = 'EVOL' 'CHPO' ('COOR' 2 lig3) lig3 ;
  188. ylig3 = 'EXTR' eylig3 'ORDO' 1 ;
  189. edlig3 = 'EVOL' 'CHPO' ('COOR' 3 lig3) lig3 ;
  190. dlig3 = 'EXTR' edlig3 'ORDO' 1 ;
  191. * Test 11 : coordonnees lig3
  192. dxlig3 = 'MAXI' ('-' xlig1 xlig3) 'ABS' ;
  193. tst = 'EGA' dxlig3 0. tol ;
  194. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor x lig3' ; 'FINS' ;
  195. lok = lok 'ET' tst ;
  196. dylig3 = 'MAXI' ('-' ylig1 ylig3) 'ABS' ;
  197. tst = 'EGA' dylig3 0. tol ;
  198. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur coor y lig3' ; 'FINS' ;
  199. lok = lok 'ET' tst ;
  200. ddlig3 = 'MAXI' ('-' dlig2 dlig3) 'ABS' ;
  201. tst = 'EGA' ddlig3 0. tol ;
  202. 'SI' ('NON' tst) ; 'MESS' '!!!! Erreur dens lig3' ; 'FINS' ;
  203. lok = lok 'ET' tst ;
  204. *
  205. *
  206. *
  207. 'SI' ('NON' lok) ;
  208. 'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ;
  209. 'ERREUR' 5 ;
  210. 'SINON' ;
  211. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  212. 'FINSI' ;
  213. *
  214. 'SI' interact ;
  215. 'OPTION' 'ECHO' 1 'DONN' 5 ;
  216. 'FINSI' ;
  217. *
  218. * End of dgibi file LIGNE
  219. *
  220. 'FIN' ;
  221.  
  222.  
  223.  

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