Télécharger sh2fnf.eso

Retour à la liste

Numérotation des lignes :

sh2fnf
  1. C SH2FNF SOURCE GOUNAND 21/06/02 21:17:36 11022
  2. SUBROUTINE SH2FNF(MYLRF,JXCOPG,
  3. $ FNPG,DFNPG,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : SH2FNF
  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 SMCHAEL
  46. POINTEUR JXCOPG.MCHEVA
  47. POINTEUR FNPG.MCHEVA
  48. POINTEUR DFNPG.MCHEVA
  49. *
  50. SEGMENT/SHXX/(SHPXXX(6,NBB)*D)
  51. *
  52. INTEGER IMPR,IRET
  53. EXTERNAL SHAPE
  54. *
  55. * Executable statements
  56. *
  57. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans sh2fnf.eso'
  58. *
  59. SEGACT MYLRF
  60. *
  61. * Conversion élément nlin -> élément castem
  62. *
  63. IF (MYLRF.NOMLRF.EQ.'H1D1PY5') THEN
  64. IELE=25
  65. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2PY13') THEN
  66. IELE=26
  67. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2PR15') THEN
  68. IELE=17
  69. ELSEIF (MYLRF.NOMLRF.EQ.'H1D2CU20') THEN
  70. IELE=15
  71. ELSE
  72. WRITE(IOIMP,*) 'Element ',MYLRF.NOMLRF,' inconnu'
  73. GOTO 9999
  74. ENDIF
  75. *
  76. NDIML=MYLRF.ORDDER(/1)
  77. NDDL=MYLRF.ORDDER(/2)
  78. NBB=NDDL
  79. SEGINI,SHXX
  80. SEGACT JXCOPG
  81. IDIMPG=JXCOPG.WELCHE(/4)
  82. IF (IDIMPG.NE.NDIML) THEN
  83. WRITE(IOIMP,*) 'Erreur grave ?'
  84. GOTO 9999
  85. ENDIF
  86. NPG=JXCOPG.WELCHE(/5)
  87. NBELFV=JXCOPG.WELCHE(/6)
  88. NBLIG=1
  89. NBCOL=NDDL
  90. N2LIG=1
  91. N2COL=1
  92. NBPOI=NPG
  93. NBELM=NBELFV
  94. SEGINI,FNPG
  95. N2COL=NDIML
  96. SEGINI,DFNPG
  97. QSI=0.D0
  98. ETA=0.D0
  99. DZE=0.D0
  100. DO IBELFV=1,NBELFV
  101. DO IPG=1,NPG
  102. IF (NDIML.GE.1) THEN
  103. QSI=JXCOPG.WELCHE(1,1,1,1,IPG,IBELFV)
  104. IF (NDIML.GE.2) THEN
  105. ETA=JXCOPG.WELCHE(1,1,1,2,IPG,IBELFV)
  106. IF (NDIML.GE.3) THEN
  107. DZE=JXCOPG.WELCHE(1,1,1,3,IPG,IBELFV)
  108. ENDIF
  109. ENDIF
  110. ENDIF
  111. *
  112. CALL SHAPE(QSI,ETA,DZE,IELE,SHPXXX,IRET)
  113. IF (IRET.EQ.0) THEN
  114. C ERREUR LES FONCTIONS DE FORME PAS ENCORE IMPLEMENTEES
  115. MOTERR(1:4)=NOMS(IELE)
  116. CALL ERREUR(68)
  117. GOTO 9999
  118. ENDIF
  119. DO IDDL=1,NDDL
  120. FNPG.WELCHE(1,IDDL,1,1,IPG,IBELFV)=SHPXXX(1,IDDL)
  121. DO IDIML=1,NDIML
  122. DFNPG.WELCHE(1,IDDL,1,IDIML,IPG,IBELFV)=
  123. $ SHPXXX(IDIML+1,IDDL)
  124. ENDDO
  125. ENDDO
  126. ENDDO
  127. ENDDO
  128. SEGSUP SHXX
  129. SEGDES DFNPG
  130. SEGDES FNPG
  131. SEGDES JXCOPG
  132. SEGDES MYLRF
  133. *
  134. * Normal termination
  135. *
  136. IRET=0
  137. RETURN
  138. *
  139. * Format handling
  140. *
  141. *
  142. * Error handling
  143. *
  144. 9999 CONTINUE
  145. IRET=1
  146. WRITE(IOIMP,*) 'An error was detected in subroutine sh2fnf'
  147. RETURN
  148. *
  149. * End of subroutine SH2FNF
  150. *
  151. END
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  

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