Télécharger projgril.procedur

Retour à la liste

Numérotation des lignes :

  1. * PROJGRIL PROCEDUR BP208322 17/10/25 21:15:01 9596
  2. DEBP PROJGRIL nuag1*'NUAGE' ;
  3. idim = VALE 'DIME' ;
  4. iele = VALE 'ELEM' ;
  5. lmt = EXTR nuag1 'COMP' ;
  6. nmt = DIME lmt ;
  7. SI (nmt <EG 2) ;
  8. ERREUR 'Le NUAGE doit etre de dimension superieure a 2' ;
  9. FINSI ;
  10. motf = EXTR lmt nmt ;
  11. nmt = nmt - 1 ;
  12. * Listes de composantes et de leurs valeurs
  13. nm1 = 0 ;
  14. ARGU lm1/'LISTMOTS' ;
  15. SI (EGA (TYPE lm1) 'LISTMOTS') ;
  16. ARGU lr1*'LISTREEL' ;
  17. nm1 = DIME lm1 ;
  18. nr1 = DIME lr1 ;
  19. SI (NEG nm1 nr1) ;
  20. ERREUR (CHAI 'Le LISTMOTS et le LISTREEL ne sont pas de la meme '
  21. 'dimension') ;
  22. FINSI ;
  23. FINSI ;
  24. SI (NEG nm1 (nmt - 2)) ;
  25. ERREUR (CHAI 'Le LISTMOTS doit etre de dimension ' (nmt - 2)) ;
  26. FINSI ;
  27. * Recherche des 2 composantes non fournies pour la fabrication du
  28. * maillage
  29. n2 = 0 ;
  30. n3 = 0 ;
  31. SI (EGA nm1 0) ;
  32. motx = EXTR lmt 1 ;
  33. moty = EXTR lmt 2 ;
  34. SINON ;
  35. nnc = 0 ;
  36. REPE b1 nmt ;
  37. mot1 = EXTR lmt &b1 ;
  38. SI (NON (EXIS lm1 mot1)) ;
  39. nnc = nnc + 1 ;
  40. SI (nnc EGA 1) ;
  41. imx = &b1 ;
  42. motx = MOT mot1 ;
  43. FINSI ;
  44. SI (nnc EGA 2) ;
  45. imy = &b1 ;
  46. moty = MOT mot1 ;
  47. FINSI ;
  48. SI (nnc >EG 3) ;
  49. ERREUR (CHAI 'Les composantes du LISTMOTS ne correspondent '
  50. 'pas a celles du NUAGE') ;
  51. FINSI ;
  52. FINSI ;
  53. FIN b1 ;
  54. FINSI ;
  55. * Construction du maillage pour le trace
  56. lx = EXTR nuag1 motx ;
  57. ly = EXTR nuag1 moty ;
  58. nx = DIME lx ;
  59. ny = DIME ly ;
  60. OPTI 'ELEM' 'QUA4' ;
  61. lx0 = 0. * lx ;
  62. ly0 = 0. * ly ;
  63. ly1 = PROG nx * (EXTR 1 ly) ;
  64. SI (EGA idim 2) ;
  65. lig1 = QUEL 'SEG2' lx ly1 ;
  66. lig2 = QUEL 'SEG2' ly0 ly ;
  67. SINON ;
  68. lig1 = QUEL 'SEG2' lx ly1 lx0 ;
  69. lig2 = QUEL 'SEG2' ly0 ly ly0 ;
  70. FINSI ;
  71. mail1 = lig1 GENE lig2 ;
  72. mp1 = CHAN 'POI1' mail1 ;
  73. * Construction du CHPOINT de la position des noeuds de mp1 dans la
  74. * grille, on commence par les composantes fixees (facile !)
  75. n1 = NBEL mp1 ;
  76. SI (nm1 > 0) ;
  77. chp1 = MANU 'CHPO' mp1 lm1 lr1 'NATURE' 'DIFFUS' ;
  78. SINON ;
  79. chp1 = VIDE 'CHPOINT'/'DIFFUS' ;
  80. FINSI ;
  81. * Puis les composantes motx et moty
  82. x = COOR 1 mp1 ;
  83. x = NOMC x motx ;
  84. y = COOR 2 mp1 ;
  85. y = NOMC y moty ;
  86. chp1 = chp1 ET x ET y ;
  87. * Interpolation de la fonction a partir de ce CHPOINT
  88. chp2 = IPOL nuag1 chp1 'GRILL' ;
  89. * Remise a l'etat initial de 'ELEM'
  90. si (neg iele ' '); OPTI 'ELEM' iele ; finsi;
  91. FINP mail1 chp2 ;
  92.  

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