Télécharger extra9.eso

Retour à la liste

Numérotation des lignes :

extra9
  1. C EXTRA9 SOURCE CB215821 20/11/25 13:28:43 10792
  2. SUBROUTINE EXTRA9(ICHP,MPOINT,CMOTIN,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 "CMOTIN".
  14. *
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  17. * -----------
  18. *
  19. * ICHP (E) POINTEUR SUR LE CHPOINT
  20. * MPOINT (E) POINT A EXTRAIRE
  21. * CMOTIN (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.  
  40. -INC PPARAM
  41. -INC CCOPTIO
  42.  
  43. CHARACTER*(*) CMOTIN
  44. CHARACTER*(LOCOMP) CMOT
  45. LOGICAL ZTEST
  46.  
  47. C Recopie pour ne pas changer l'input
  48. CMOT=CMOTIN
  49.  
  50. * a t'on fourni une harmonique de Fourier ? si non, valeur courante
  51. IF (ZTEST) THEN
  52. NTEST=NHARM
  53. ELSE
  54. NTEST=NIFOUR
  55. ENDIF
  56. IRET=0
  57. XFLOT=0.D0
  58. MCHPOI=ICHP
  59.  
  60. * --- BOUCLE SUR LES ZONES DU CHPOINT
  61. NBSOUS = IPCHP(/1)
  62. DO 11 I = 1,NBSOUS
  63. MSOUPO = IPCHP(I)
  64. NC = NOCOMP(/2)
  65.  
  66. * - RECHERCHE DE LA COMPOSANTE
  67. * Cas d'un chpo "Fourier" ou NHARM fourni :
  68. * on teste le nom + l'harmonique
  69. IF (IFOPOI.EQ.1.OR.ZTEST) THEN
  70. DO 12 IC = 1,NC
  71. c IF (NOCOMP(IC).EQ.CMOT.AND.NOHARM(IC).EQ.NTEST) THEN
  72. c ICC=IC
  73. c GOTO 13
  74. c ENDIF
  75. IF (NOHARM(IC).NE.NTEST) GOTO 12
  76. IF (NOCOMP(IC).NE.CMOT) GOTO 12
  77. ICC=IC
  78. GOTO 13
  79. 12 CONTINUE
  80. * Autre Cas : on teste le nom de composante
  81. ELSE
  82. DO 22 IC = 1,NC
  83. IF (NOCOMP(IC).EQ.CMOT) THEN
  84. ICC=IC
  85. GOTO 13
  86. ENDIF
  87. 22 CONTINUE
  88. ENDIF
  89.  
  90. * absence de la composante
  91. GOTO 11
  92.  
  93. * on a trouvé le nom de composante (+ harmonique ou pas)
  94. 13 CONTINUE
  95. * - RECHERCHE DU NOEUD
  96. MELEME = IGEOC
  97. MPOVAL = IPOVAL
  98. DO 14 KJ = 1,NUM(/2)
  99. IF (NUM(1,KJ).EQ.MPOINT) THEN
  100. XFLOT=VPOCHA(KJ,ICC)
  101. IRET=1
  102. RETURN
  103. ENDIF
  104. 14 CONTINUE
  105.  
  106. 11 CONTINUE
  107. END
  108.  
  109.  
  110.  
  111.  
  112.  

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