Télécharger inlrfs.eso

Retour à la liste

Numérotation des lignes :

  1. C INLRFS SOURCE GOUNAND 05/12/21 21:33:09 5281
  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. -INC CCOPTIO
  34. CBEGININCLUDE SELREF
  35. SEGMENT ELREF
  36. CHARACTER*(LNNOM) NOMLRF
  37. CHARACTER*(LNFORM) FORME
  38. CHARACTER*(LNTYPL) TYPEL
  39. CHARACTER*(LNESP) ESPACE
  40. INTEGER DEGRE
  41. REAL*8 XCONOD(NDIMEL,NBNOD)
  42. INTEGER NPQUAF(NBDDL)
  43. INTEGER NUMCMP(NBDDL)
  44. INTEGER QUENOD(NBDDL)
  45. INTEGER ORDDER(NDIMEL,NBDDL)
  46. POINTEUR MBPOLY.POLYNS
  47. ENDSEGMENT
  48. SEGMENT ELREFS
  49. POINTEUR LISEL(0).ELREF
  50. ENDSEGMENT
  51. CENDINCLUDE SELREF
  52. POINTEUR MYLRFS.ELREFS
  53. POINTEUR ELCOUR.ELREF
  54. *
  55. INTEGER IMPR,IRET
  56. *
  57. INTEGER INBDEL,NBDEL
  58. *
  59. * Executable statements
  60. *
  61. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inlrfs'
  62. *
  63. * Initialisation du segment contenant tous les éléments de référence
  64. * L'ordre dans lequel ils ont initialisés à une importance car certains
  65. * éléments sont générés à partir d'autres (ex: prisme = triangle *
  66. * segment)
  67. *
  68. SEGINI MYLRFS
  69. *
  70. * On initialise les éléments de référence de dimension 1 (segments)
  71. *
  72. CALL INELSE(MYLRFS,IMPR,IRET)
  73. IF (IRET.NE.0) GOTO 9999
  74. *
  75. * On initialise les éléments de référence de dimension 2
  76. * de forme géométrique triangulaire.
  77. *
  78. CALL INELTR(MYLRFS,IMPR,IRET)
  79. IF (IRET.NE.0) GOTO 9999
  80. *
  81. * On initialise les éléments de référence de dimension 2
  82. * de forme géométrique carrée.
  83. *
  84. CALL INELQU(MYLRFS,IMPR,IRET)
  85. IF (IRET.NE.0) GOTO 9999
  86. *
  87. * On initialise les éléments de référence de dimension 3
  88. * de forme géométrique tétraèdrique.
  89. *
  90. CALL INELTE(MYLRFS,IMPR,IRET)
  91. IF (IRET.NE.0) GOTO 9999
  92. *
  93. * On initialise les éléments de référence de dimension 3
  94. * de forme géométrique pyramidale.
  95. *
  96. CALL INELPY(MYLRFS,IMPR,IRET)
  97. IF (IRET.NE.0) GOTO 9999
  98. *
  99. * On initialise les éléments de référence de dimension 3
  100. * de forme géométrique prismatique à base triangle.
  101. *
  102. CALL INELPR(MYLRFS,IMPR,IRET)
  103. IF (IRET.NE.0) GOTO 9999
  104. *
  105. * On initialise les éléments de référence de dimension 3
  106. * de forme géométrique cubique.
  107. *
  108. CALL INELCU(MYLRFS,IMPR,IRET)
  109. IF (IRET.NE.0) GOTO 9999
  110. *
  111. * Impression finale
  112. *
  113. NBDEL=MYLRFS.LISEL(/1)
  114. IF (IMPR.GT.1) THEN
  115. *! WRITE(IOIMP,*) 'Nom, Forme, Continuité, degré, nb.ddl'
  116. SEGPRT,MYLRFS
  117. DO 3 INBDEL=1,NBDEL
  118. WRITE(IOIMP,*) 'Elément de référence ',INBDEL
  119. ELCOUR=MYLRFS.LISEL(INBDEL)
  120. CALL PRLRF(ELCOUR,IMPR,IRET)
  121. IF (IRET.NE.0) GOTO 9999
  122. 3 CONTINUE
  123. ENDIF
  124. SEGDES MYLRFS
  125. *
  126. * Normal termination
  127. *
  128. IRET=0
  129. RETURN
  130. *
  131. * Format handling
  132. *
  133. *
  134. * Error handling
  135. *
  136. 9999 CONTINUE
  137. IRET=1
  138. WRITE(IOIMP,*) 'An error was detected in subroutine inlrfs'
  139. RETURN
  140. *
  141. * End of subroutine INLRFS
  142. *
  143. END
  144.  
  145.  
  146.  
  147.  

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