Télécharger sh2fnr.eso

Retour à la liste

Numérotation des lignes :

sh2fnr
  1. C SH2FNR SOURCE GOUNAND 21/06/02 21:17:37 11022
  2. SUBROUTINE SH2FNR(MYLRF,MYPG,
  3. $ FNPG,DFNPG,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : SH2FNR
  9. C DESCRIPTION : Conversion shape.eso -> kfnref.eso
  10. C
  11. C
  12. C
  13. C LANGAGE : ESOPE
  14. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  15. C mél : gounand@semt2.smts.cea.fr
  16. C***********************************************************************
  17. C APPELES :
  18. C APPELES (E/S) :
  19. C APPELES (BLAS) :
  20. C APPELES (CALCUL) :
  21. C APPELE PAR :
  22. C***********************************************************************
  23. C SYNTAXE GIBIANE :
  24. C ENTREES :
  25. C ENTREES/SORTIES :
  26. C SORTIES :
  27. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  28. C***********************************************************************
  29. C VERSION : v1, 25/10/2005, version initiale
  30. C HISTORIQUE : v1, 25/10/2005, création
  31. C HISTORIQUE :
  32. C HISTORIQUE :
  33. C***********************************************************************
  34. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  35. C en cas de modification de ce sous-programme afin de faciliter
  36. C la maintenance !
  37. C***********************************************************************
  38. -INC CCGEOME
  39.  
  40. -INC PPARAM
  41. -INC CCOPTIO
  42. -INC TNLIN
  43. *-INC SELREF
  44. POINTEUR MYLRF.ELREF
  45. *-INC SPOGAU
  46. POINTEUR MYPG.POGAU
  47. *-INC SMCHAEL
  48. POINTEUR FNPG.MCHEVA
  49. POINTEUR DFNPG.MCHEVA
  50. *
  51. SEGMENT/SHXX/(SHPXXX(6,NBB)*D)
  52. *
  53. INTEGER IMPR,IRET
  54. EXTERNAL SHAPE
  55. *
  56. * Executable statements
  57. *
  58. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans sh2fnr.eso'
  59. *
  60. SEGACT MYLRF
  61. *
  62. * Conversion élément nlin -> élément castem
  63. *
  64. IF (MYLRF.NOMLRF.EQ.'H1D1PY5') THEN
  65. IELE=25
  66. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2PY13') THEN
  67. IELE=26
  68. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2PR15') THEN
  69. IELE=17
  70. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2CU20') THEN
  71. IELE=15
  72. ELSE
  73. WRITE(IOIMP,*) 'Element ',MYLRF.NOMLRF,' inconnu'
  74. GOTO 9999
  75. ENDIF
  76. *
  77. NDIML=MYLRF.ORDDER(/1)
  78. NDDL=MYLRF.ORDDER(/2)
  79. NBB=NDDL
  80. SEGINI,SHXX
  81. SEGACT MYPG
  82. IDIMPG=MYPG.XCOPG(/1)
  83. IF (IDIMPG.NE.NDIML) THEN
  84. WRITE(IOIMP,*) 'Erreur grave ?'
  85. GOTO 9999
  86. ENDIF
  87. NPG=MYPG.XCOPG(/2)
  88. NBLIG=1
  89. NBCOL=NDDL
  90. N2LIG=1
  91. N2COL=1
  92. NBPOI=NPG
  93. NBELM=1
  94. SEGINI,FNPG
  95. N2COL=NDIML
  96. SEGINI,DFNPG
  97. QSI=0.D0
  98. ETA=0.D0
  99. DZE=0.D0
  100. DO IPG=1,NPG
  101. IF (NDIML.GE.1) THEN
  102. QSI=MYPG.XCOPG(1,IPG)
  103. IF (NDIML.GE.2) THEN
  104. ETA=MYPG.XCOPG(2,IPG)
  105. IF (NDIML.GE.3) THEN
  106. DZE=MYPG.XCOPG(3,IPG)
  107. ENDIF
  108. ENDIF
  109. ENDIF
  110. *
  111. CALL SHAPE(QSI,ETA,DZE,IELE,SHPXXX,IRET)
  112. IF (IRET.EQ.0) THEN
  113. C ERREUR LES FONCTIONS DE FORME PAS ENCORE IMPLEMENTEES
  114. MOTERR(1:4)=NOMS(IELE)
  115. CALL ERREUR(68)
  116. GOTO 9999
  117. ENDIF
  118. DO IDDL=1,NDDL
  119. FNPG.WELCHE(1,IDDL,1,1,IPG,1)=SHPXXX(1,IDDL)
  120. DO IDIML=1,NDIML
  121. DFNPG.WELCHE(1,IDDL,1,IDIML,IPG,1)=SHPXXX(IDIML+1,IDDL)
  122. ENDDO
  123. ENDDO
  124. ENDDO
  125. SEGSUP SHXX
  126. SEGDES DFNPG
  127. SEGDES FNPG
  128. SEGDES MYPG
  129. SEGDES MYLRF
  130. *
  131. * Normal termination
  132. *
  133. IRET=0
  134. RETURN
  135. *
  136. * Format handling
  137. *
  138. *
  139. * Error handling
  140. *
  141. 9999 CONTINUE
  142. IRET=1
  143. WRITE(IOIMP,*) 'An error was detected in subroutine sh2fnr'
  144. RETURN
  145. *
  146. * End of subroutine SH2FNR
  147. *
  148. END
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  

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