Télécharger inlrfs.eso

Retour à la liste

Numérotation des lignes :

inlrfs
  1. C INLRFS SOURCE GOUNAND 21/06/02 21:16:53 11022
  2. SUBROUTINE INLRFS(MYLRFS,IMPR,IRET)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : INLRFS
  7. C PROJET : Noyau linéaire NLIN
  8. C DESCRIPTION : Initialise le segment contenant les informations sur
  9. C l'ensemble des éléments de référence.
  10. C
  11. C LANGAGE : ESOPE
  12. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  13. C mél : gounand@semt2.smts.cea.fr
  14. C***********************************************************************
  15. C APPELES : INELSE, INELTR, INELQU, INELTE, INELPR, INELCU
  16. C APPELES (E/S) : PRLRF
  17. C APPELE PAR : KALPBG
  18. C***********************************************************************
  19. C ENTREES : -
  20. C SORTIES : MYLRFS
  21. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  22. C***********************************************************************
  23. C VERSION : v1, 20/07/99, version initiale
  24. C HISTORIQUE : v1, 20/07/99, création
  25. C HISTORIQUE : v2, 19/10/99, remaniement (chgt du segment ELREFS)
  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 SELREF
  38. POINTEUR MYLRFS.ELREFS
  39. POINTEUR ELCOUR.ELREF
  40. *
  41. INTEGER IMPR,IRET
  42. *
  43. INTEGER INBDEL,NBDEL
  44. *
  45. * Executable statements
  46. *
  47. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inlrfs'
  48. *
  49. * Initialisation du segment contenant tous les éléments de référence
  50. * L'ordre dans lequel ils ont initialisés à une importance car certains
  51. * éléments sont générés à partir d'autres (ex: prisme = triangle *
  52. * segment)
  53. *
  54. SEGINI MYLRFS
  55. *
  56. * On initialise les éléments de référence de dimension 1 (segments)
  57. *
  58. CALL INELSE(MYLRFS,IMPR,IRET)
  59. IF (IRET.NE.0) GOTO 9999
  60. *
  61. * On initialise les éléments de référence de dimension 2
  62. * de forme géométrique triangulaire.
  63. *
  64. CALL INELTR(MYLRFS,IMPR,IRET)
  65. IF (IRET.NE.0) GOTO 9999
  66. *
  67. * On initialise les éléments de référence de dimension 2
  68. * de forme géométrique carrée.
  69. *
  70. CALL INELQU(MYLRFS,IMPR,IRET)
  71. IF (IRET.NE.0) GOTO 9999
  72. *
  73. * On initialise les éléments de référence de dimension 3
  74. * de forme géométrique tétraèdrique.
  75. *
  76. CALL INELTE(MYLRFS,IMPR,IRET)
  77. IF (IRET.NE.0) GOTO 9999
  78. *
  79. * On initialise les éléments de référence de dimension 3
  80. * de forme géométrique pyramidale.
  81. *
  82. CALL INELPY(MYLRFS,IMPR,IRET)
  83. IF (IRET.NE.0) GOTO 9999
  84. *
  85. * On initialise les éléments de référence de dimension 3
  86. * de forme géométrique prismatique à base triangle.
  87. *
  88. CALL INELPR(MYLRFS,IMPR,IRET)
  89. IF (IRET.NE.0) GOTO 9999
  90. *
  91. * On initialise les éléments de référence de dimension 3
  92. * de forme géométrique cubique.
  93. *
  94. CALL INELCU(MYLRFS,IMPR,IRET)
  95. IF (IRET.NE.0) GOTO 9999
  96. *
  97. * Impression finale
  98. *
  99. NBDEL=MYLRFS.LISEL(/1)
  100. IF (IMPR.GT.1) THEN
  101. *! WRITE(IOIMP,*) 'Nom, Forme, Continuité, degré, nb.ddl'
  102. SEGPRT,MYLRFS
  103. DO 3 INBDEL=1,NBDEL
  104. WRITE(IOIMP,*) 'Elément de référence ',INBDEL
  105. ELCOUR=MYLRFS.LISEL(INBDEL)
  106. CALL PRLRF(ELCOUR,IMPR,IRET)
  107. IF (IRET.NE.0) GOTO 9999
  108. 3 CONTINUE
  109. ENDIF
  110. SEGDES MYLRFS
  111. *
  112. * Normal termination
  113. *
  114. IRET=0
  115. RETURN
  116. *
  117. * Format handling
  118. *
  119. *
  120. * Error handling
  121. *
  122. 9999 CONTINUE
  123. IRET=1
  124. WRITE(IOIMP,*) 'An error was detected in subroutine inlrfs'
  125. RETURN
  126. *
  127. * End of subroutine INLRFS
  128. *
  129. END
  130.  
  131.  
  132.  
  133.  
  134.  

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