Télécharger gpobul.eso

Retour à la liste

Numérotation des lignes :

gpobul
  1. C GPOBUL SOURCE GOUNAND 21/06/02 21:16:16 11022
  2. SUBROUTINE GPOBUL(NDIM,
  3. $ MYBPOL,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : GPOBUL
  9. C DESCRIPTION : Génère le polynôme bulle pour un simplex de dimension
  10. C NDIM et l'ajoute dans une liste de polynômes.
  11. C
  12. C LANGAGE : ESOPE
  13. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  14. C mél : gounand@semt2.smts.cea.fr
  15. C***********************************************************************
  16. C APPELES : ISET
  17. C APPELE PAR : INELTR, INELTE
  18. C***********************************************************************
  19. C ENTREES : NDIM
  20. C ENTREES/SORTIES : MYBPOL
  21. C SORTIES : -
  22. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  23. C***********************************************************************
  24. C VERSION : v1, 10/05/2000, version initiale
  25. C HISTORIQUE : v1, 10/05/2000, création
  26. C HISTORIQUE :
  27. C HISTORIQUE :
  28. C***********************************************************************
  29. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  30. C en cas de modification de ce sous-programme afin de faciliter
  31. C la maintenance !
  32. C***********************************************************************
  33.  
  34. -INC PPARAM
  35. -INC CCOPTIO
  36. -INC TNLIN
  37. *-INC SPOLYNO
  38. INTEGER NBMON,NDIML
  39. POINTEUR MYBPOL.POLYNS
  40. POINTEUR POBUL.POLYNO
  41. *
  42. INTEGER NDIM
  43. INTEGER IMPR,IRET
  44. *
  45. REAL*8 UN
  46. PARAMETER(UN=1.D0)
  47. INTEGER IMON
  48. *
  49. * Executable statements
  50. *
  51. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans gpobul.eso'
  52. * On génère un polynôme du type :
  53. * x_1.x_2...x_n (1-x_1...-x_n)
  54. NDIML=NDIM
  55. NBMON=NDIM+1
  56. SEGINI POBUL
  57. * On initialise les monômes à x_1.x_2...x_n
  58. CALL ISET(POBUL.EXPMON,1,NDIML*NBMON)
  59. * On ajuste les coeff. et les monômes
  60. POBUL.COEMON(1)=UN
  61. DO 1 IMON=2,NDIM+1
  62. POBUL.COEMON(IMON)=-UN
  63. POBUL.EXPMON(IMON-1,IMON)=
  64. $ POBUL.EXPMON(IMON-1,IMON)+1
  65. 1 CONTINUE
  66. SEGDES POBUL
  67. SEGACT MYBPOL*MOD
  68. MYBPOL.LIPOLY(**)=POBUL
  69. SEGDES MYBPOL
  70. *
  71. * Normal termination
  72. *
  73. IRET=0
  74. RETURN
  75. *
  76. * Format handling
  77. *
  78. *
  79. * Error handling
  80. *
  81. 9999 CONTINUE
  82. IRET=1
  83. WRITE(IOIMP,*) 'An error was detected in subroutine gpobul'
  84. RETURN
  85. *
  86. * End of subroutine GPOBUL
  87. *
  88. END
  89.  
  90.  
  91.  
  92.  
  93.  

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