Télécharger gpocrq.eso

Retour à la liste

Numérotation des lignes :

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

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