Télécharger trquaf.eso

Retour à la liste

Numérotation des lignes :

trquaf
  1. C TRQUAF SOURCE GOUNAND 24/11/06 21:15:18 12073
  2. SUBROUTINE TRQUAF(CGEOME,CGEOMQ,MYFALS)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : TRQUAF
  7. C PROJET : Noyau linéaire NLIN
  8. C DESCRIPTION : Transformation de CGEOME en QUAF si ça n'est pas le
  9. C cas. On utilise pour cela les éléments de référence
  10. C QUAI ou LINE
  11. C ATTENTION : les éléments QUAF créés ont des noeuds nuls
  12. C Vérifier que cela ne posera pas problème est fait dans
  13. C KECOM6 appelé par PRLIN3
  14. C
  15. C
  16. C LANGAGE : ESOPE
  17. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  18. C mél : gounand@semt2.smts.cea.fr
  19. C***********************************************************************
  20. C APPELES : KEEF (recherche de l'élément fini)
  21. C APPELE PAR :
  22. C***********************************************************************
  23. C ENTREES :
  24. C SORTIES :
  25. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  26. C***********************************************************************
  27. C VERSION : v1, 27/05/2021, version initiale
  28. C HISTORIQUE : v1, 27/05/2021, création
  29. C HISTORIQUE :
  30. C HISTORIQUE :
  31. C***********************************************************************
  32. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  33. C en cas de modification de ce sous-programme afin de faciliter
  34. C la maintenance !
  35. C***********************************************************************
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC CCGEOME
  40. -INC SMELEME
  41. POINTEUR CGEOMQ.MELEME
  42. POINTEUR CGEOME.MELEME
  43. POINTEUR SOUGEO.MELEME
  44. -INC SMLMOTS
  45. POINTEUR MYLMOT.MLMOTS
  46. * Mes includes persos
  47. -INC TNLIN
  48. *-INC SFALRF
  49. POINTEUR MYFALS.FALRFS
  50. *-INC SELREF
  51. POINTEUR MYLRF.ELREF
  52. *
  53. CHARACTER*4 MYDISC
  54. INTEGER IMPR,IRET
  55. *
  56. * Fonctions appelées
  57. *
  58. *
  59. INTEGER ICOMP ,ISOUS
  60. INTEGER NSOUS,NDDL,ITQUAF
  61. *
  62. * Executable statements
  63. *
  64. SEGACT CGEOME
  65. NBNN=0
  66. NBELEM=1
  67. NBSOUS=CGEOME.LISOUS(/1)
  68. NBREF=NBSOUS
  69. SEGINI CGEOMQ
  70. NSOUS=NBSOUS
  71. DO 3 ISOUS=1,NSOUS
  72. SOUGEO=CGEOME.LISOUS(ISOUS)
  73. SEGACT SOUGEO
  74. ITELEM=SOUGEO.ITYPEL
  75. CALL IDQUDI(ITELEM,ITQUAF,MYDISC)
  76. IF (IERR.NE.0) RETURN
  77. * Est-ce un QUAF ?
  78. IF (ITQUAF.NE.ITELEM) THEN
  79. NBNN=NBNNE(ITQUAF)
  80. NBELEM=SOUGEO.NUM(/2)
  81. NBSOUS=0
  82. NBREF=0
  83. * write(ioimp,*) 'nmelem,nmeleq=',nmelem,nmeleq
  84. * write(ioimp,*) 'nbnn,nbelem=',nbnn,nbelem
  85. SEGINI MELEME
  86. * On met un flag négatif pour dire que le maillage de type QUAF peut
  87. * avoir maintenant des noeuds nuls
  88. ITYPEL=ITQUAF
  89. CALL KEEF(ITQUAF,MYDISC,
  90. $ MYFALS,
  91. $ MYLRF,
  92. $ IMPR,IRET)
  93. IF (IRET.NE.0) GOTO 9999
  94. * JG=NBNN
  95. SEGACT MYLRF
  96. * segprt,mylrf
  97. * stop 16
  98. NDDL=MYLRF.NPQUAF(/1)
  99. DO IBELEM=1,NBELEM
  100. DO IDDL=1,NDDL
  101. NNQUA=MYLRF.NPQUAF(IDDL)
  102. NNGLO=SOUGEO.NUM(IDDL,IBELEM)
  103. NUM(NNQUA,IBELEM)=NNGLO
  104. ENDDO
  105. ENDDO
  106. SEGDES MYLRF
  107. CGEOMQ.LISOUS(ISOUS)=MELEME
  108. CGEOMQ.LISREF(ISOUS)=SOUGEO
  109. ELSE
  110. CGEOMQ.LISOUS(ISOUS)=SOUGEO
  111. CGEOMQ.LISREF(ISOUS)=0
  112. ENDIF
  113. 3 CONTINUE
  114. * SEGDES CGEOME
  115. * CALL ECROBJ('MAILLAGE',CGEOME)
  116. * CALL PRLIST
  117. * stop 16
  118. *
  119. * Normal termination
  120. *
  121. RETURN
  122. *
  123. * Format handling
  124. *
  125. *
  126. * Error handling
  127. *
  128. 9999 CONTINUE
  129. MOTERR(1:8)='keef '
  130. CALL ERREUR(1127)
  131. RETURN
  132. *
  133. * End of subroutine TRQUAF
  134. *
  135. END
  136.  
  137.  

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