Télécharger extra9.eso

Retour à la liste

Numérotation des lignes :

  1. C EXTRA9 SOURCE CB215821 19/08/20 21:17:34 10287
  2. SUBROUTINE EXTRA9(ICHP,MPOINT,CMOT,NHARM,ZTEST,XFLOT,IRET)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * E X T R A 9
  8. *
  9. * FONCTION:
  10. * ---------
  11. *
  12. * EXTRAIT LA VALEUR "XFLOT" DU CHPOINT "ICHP" AU POINT "MPOINT"
  13. * DE COMPOSANTE "CMOT".
  14. *
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  17. * -----------
  18. *
  19. * ICHP (E) POINTEUR SUR LE CHPOINT
  20. * MPOINT (E) POINT A EXTRAIRE
  21. * CMOT (E) COMPOSANTE DU POINT A EXTRAIRE
  22. * NHARM (E) HARMONIQUE DE FOURIER
  23. * ZTEST (E) = | TRUE SI NHARM A ETE FOURNIE : ON LA TESTE
  24. * | FALSE SINON
  25. * XFLOT (S) VALEUR EXTRAITE
  26. * IRET (S) = | 1 SI NOEUD+COMPOSANTE EFFECTIVEMENT VU
  27. * | 0 SINON (CF. REMARQUE)
  28. *
  29. * REMARQUE 1 : SI LE CHPOINT N'EST PAS DEFINI AU NOEUD + COMPOSANTE
  30. * ---------- DEMANDE, LA VALEUR RETOURNEE PAR XFLOT EST 0.
  31. * (CONVENTION DES CHPOINTS)
  32. * REMARQUE 2 : SI NHARM N'EST PAS FOURNIE ET QUE LE CHPOINT EST DE TYPE
  33. * ---------- FOURIER, ALORS ON EXTRAIT L'HARMONIQUE COURANTE
  34. *
  35. ************************************************************************
  36. *
  37. -INC SMCHPOI
  38. -INC SMELEME
  39. -INC CCOPTIO
  40.  
  41. CHARACTER*4 CMOT
  42. LOGICAL ZTEST
  43.  
  44. * a t'on fourni une harmonique de Fourier ? si non, valeur courante
  45. IF (ZTEST) THEN
  46. NTEST=NHARM
  47. ELSE
  48. NTEST=NIFOUR
  49. ENDIF
  50. IRET=0
  51. XFLOT=0.D0
  52. MCHPOI=ICHP
  53. SEGACT,MCHPOI
  54.  
  55. * --- BOUCLE SUR LES ZONES DU CHPOINT
  56. NBSOUS = IPCHP(/1)
  57. DO 11 I = 1,NBSOUS
  58. MSOUPO = IPCHP(I)
  59. SEGACT,MSOUPO
  60. NC = NOCOMP(/2)
  61.  
  62. * - RECHERCHE DE LA COMPOSANTE
  63. * Cas d'un chpo "Fourier" ou NHARM fourni :
  64. * on teste le nom + l'harmonique
  65. IF (IFOPOI.EQ.1.OR.ZTEST) THEN
  66. DO 12 IC = 1,NC
  67. c IF (NOCOMP(IC).EQ.CMOT.AND.NOHARM(IC).EQ.NTEST) THEN
  68. c ICC=IC
  69. c GOTO 13
  70. c ENDIF
  71. IF (NOHARM(IC).NE.NTEST) GOTO 12
  72. IF (NOCOMP(IC).NE.CMOT) GOTO 12
  73. ICC=IC
  74. GOTO 13
  75. 12 CONTINUE
  76. * Autre Cas : on teste le nom de composante
  77. ELSE
  78. DO 22 IC = 1,NC
  79. IF (NOCOMP(IC).EQ.CMOT) THEN
  80. ICC=IC
  81. GOTO 13
  82. ENDIF
  83. 22 CONTINUE
  84. ENDIF
  85.  
  86. * absence de la composante
  87. GOTO 11
  88.  
  89. * on a trouvé le nom de composante (+ harmonique ou pas)
  90. 13 CONTINUE
  91. * - RECHERCHE DU NOEUD
  92. MELEME = IGEOC
  93. MPOVAL = IPOVAL
  94. SEGACT,MELEME,MPOVAL
  95. DO 14 KJ = 1,NUM(/2)
  96. IF (NUM(1,KJ).EQ.MPOINT) THEN
  97. XFLOT=VPOCHA(KJ,ICC)
  98. IRET=1
  99. RETURN
  100. ENDIF
  101. 14 CONTINUE
  102.  
  103. 11 CONTINUE
  104. END
  105.  
  106.  
  107.  

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