Télécharger compus.eso

Retour à la liste

Numérotation des lignes :

  1. C COMPUS SOURCE CHAT 05/01/12 22:16:14 5004
  2. SUBROUTINE COMPUS(NOMVAL,XVAL,IVALIS,NVAL,NOMPAR,
  3. & VALPAR,NPARA,CMNAME,IERUT)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. C-----------------------------------------------------------------------
  7. C
  8. C DESCRIPTION FONCTIONNELLE :
  9. C -------------------------
  10. C
  11. C Version du module externe COMPUS integree au code pour eviter tout
  12. C probleme d'edition de lien et pour permettre le passage de tests
  13. C de non regression.
  14. C
  15. C En utilisation normale, ce module doit etre surcharge par celui
  16. C de meme nom fourni par l'utilisateur.
  17. C
  18. C-----------------------------------------------------------------------
  19. C
  20. C DESCRIPTION DE L'INTERFACE :
  21. C --------------------------
  22. C ENTREE : NOMVAL : CHARACTER*4, NOMS DES COMPOSANTES
  23. C ENTREE : XVAL : VALEURS DES COMPOSANTES
  24. C ENTREE : IVALIS : 1 SI LA COMPOSANTE EST A EVALUER, O SINON
  25. C ENTREE : NVAL : NOMBRE DE COMPOSANTES
  26. C ENTREE : NOMPAR : CHARACTER*4, NOMS DES PARAMETRES
  27. C ENTREE : VALPAR : VALEURS DES PARAMETRES
  28. C ENTREE : NPARA : INTEGER, nombre de parametres
  29. C SORTIE : IERUT : INTEGER, code retour
  30. C IERUT= 0 : OK
  31. C IERUT<>0 : NOOK
  32. C Les cas d'erreur pris en charge par la
  33. C programmation de l'utilisateur doivent
  34. C faire l'objet d'une affectation de IERUT
  35. C differente de 0
  36. C
  37. C-----------------------------------------------------------------------
  38. C
  39. C Arguments de l'interface
  40. C
  41. INTEGER NPARA, NVAL, IERUT
  42. INTEGER IVALIS(NVAL)
  43. CHARACTER*4 NOMPAR(NPARA) ,NOMVAL(NVAL)
  44. CHARACTER*4 K4ILOI,NOMCMP
  45. CHARACTER*16 CMNAME
  46. REAL*8 VALPAR(NPARA), XVAL(NVAL)
  47. C
  48. C Fonctions externes
  49. C
  50. C
  51. C Datas pour definir les parametrages de reference des composantes
  52. C
  53.  
  54. C
  55. C Datas pour definir les parametrages de reference des composantes
  56. C
  57. INTEGER NPYOUN, NPNU, NPALPH, NPSMAX,
  58. & NPAF0, NPAF1, NPAF2, NPAF3, NPAF4, NPAF5, NPAF6
  59. PARAMETER (NPYOUN=3, NPNU=3, NPALPH=2, NPSMAX=3,
  60. & NPAF0=3, NPAF1=5, NPAF2=3, NPAF3=4, NPAF4=3,
  61. & NPAF5=3, NPAF6=3)
  62. REAL*8 PAYOUN(NPYOUN), PANU(NPNU), PAALPH(NPALPH),
  63. & PASMAX(NPSMAX),
  64. & PAAF0(NPAF0), PAAF1(NPAF1), PAAF2(NPAF2),
  65. & PAAF3(NPAF3), PAAF4(NPAF4), PAAF5(NPAF5),
  66. & PAAF6(NPAF6)
  67. C
  68. C
  69. C
  70. C---------------------- Debut du code executable -----------------------
  71. C
  72. C
  73. IERUT=0
  74. K4ILOI = CMNAME(13:16)
  75. *
  76. *
  77. IF (K4ILOI.EQ.' 22') THEN
  78.  
  79. C
  80. C BOUCLE SUR TOUTES LES COMPOSANTES
  81. C
  82. DO 10 IC=1,NVAL
  83.  
  84. NOMCMP = NOMVAL(IC)
  85.  
  86. IF(IVALIS(IC).EQ.1) THEN
  87. C
  88. IF (NOMCMP.EQ.'YOUN') THEN
  89. PAYOUN(1) = VALPAR (1)
  90. PAYOUN(2) = VALPAR (2)
  91. PAYOUN(3) = VALPAR (3)
  92. VALCMP=FVYOUN(PAYOUN,NPYOUN,IERUT)
  93. C
  94. ELSE IF (NOMCMP.EQ.'NU ') THEN
  95. PANU(1) = VALPAR (1)
  96. PANU(2) = VALPAR (2)
  97. PANU(3) = VALPAR (3)
  98. VALCMP=FVNU(PANU,NPNU,IERUT)
  99. C
  100. ELSE IF (NOMCMP.EQ.'ALPH') THEN
  101. PAALPH(1) = VALPAR (1)
  102. PAALPH(2) = VALPAR (4)
  103. VALCMP=FVALPH(PAALPH,NPALPH,IERUT)
  104. C
  105. ELSE IF (NOMCMP.EQ.'SMAX') THEN
  106. PASMAX(1) = VALPAR (1)
  107. PASMAX(2) = VALPAR (2)
  108. PASMAX(3) = VALPAR (3)
  109. VALCMP=FVSMAX(PASMAX,NPSMAX,IERUT)
  110. C
  111. ELSE IF (NOMCMP.EQ.'AF0 ') THEN
  112. PAAF0 (1) = VALPAR (5)
  113. PAAF0 (2) = VALPAR (6)
  114. PAAF0 (3) = VALPAR (7)
  115. VALCMP=FVAF0(PAAF0 ,NPAF0,IERUT)
  116. C
  117. ELSE IF (NOMCMP.EQ.'AF1 ') THEN
  118. PAAF1 (1) = VALPAR (5)
  119. PAAF1 (2) = VALPAR (6)
  120. PAAF1 (3) = VALPAR (7)
  121. PAAF1 (4) = VALPAR (8)
  122. PAAF1 (5) = VALPAR (9)
  123. VALCMP=FVAF1(PAAF1 ,NPAF1,IERUT)
  124. C
  125. ELSE IF (NOMCMP.EQ.'AF2 ') THEN
  126. PAAF2 (1) = VALPAR (5)
  127. PAAF2 (2) = VALPAR (6)
  128. PAAF2 (3) = VALPAR (7)
  129. VALCMP=FVAF2(PAAF2 ,NPAF2,IERUT)
  130. C
  131. ELSE IF (NOMCMP.EQ.'AF3 ') THEN
  132. PAAF3 (1) = VALPAR (5)
  133. PAAF3 (2) = VALPAR (6)
  134. PAAF3 (3) = VALPAR (7)
  135. PAAF3 (4) = VALPAR (8)
  136. VALCMP=FVAF3(PAAF3 ,NPAF3,IERUT)
  137. C
  138. ELSE IF (NOMCMP.EQ.'AF4 ') THEN
  139. PAAF4 (1) = VALPAR (5)
  140. PAAF4 (2) = VALPAR (6)
  141. PAAF4 (3) = VALPAR (7)
  142. VALCMP=FVAF4(PAAF4 ,NPAF4,IERUT)
  143. C
  144. ELSE IF (NOMCMP.EQ.'AF5 ') THEN
  145. PAAF5 (1) = VALPAR (5)
  146. PAAF5 (2) = VALPAR (6)
  147. PAAF5 (3) = VALPAR (7)
  148. VALCMP=FVAF5(PAAF5 ,NPAF5,IERUT)
  149. C
  150. ELSE IF (NOMCMP.EQ.'AF6 ') THEN
  151. PAAF6 (1) = VALPAR (5)
  152. PAAF6 (2) = VALPAR (6)
  153. PAAF6 (3) = VALPAR (7)
  154. VALCMP=FVAF6(PAAF6 ,NPAF6,IERUT)
  155. C
  156. ENDIF
  157. XVAL(IC)=VALCMP
  158. ENDIF
  159. 10 CONTINUE
  160.  
  161.  
  162. C
  163. C AUTRES LOIS
  164. C
  165. ELSE
  166. IERUT=201
  167. C
  168. ENDIF
  169. C
  170. RETURN
  171. END
  172.  
  173.  
  174.  
  175.  
  176.  

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