Télécharger compus.eso

Retour à la liste

Numérotation des lignes :

compus
  1. C COMPUS SOURCE CB215821 20/11/04 21:15:46 10766
  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 : 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 : 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.  
  42. -INC PPARAM
  43.  
  44. INTEGER NPARA, NVAL, IERUT
  45. INTEGER IVALIS(NVAL)
  46. CHARACTER*(*) NOMPAR(NPARA)
  47. CHARACTER*(*) NOMVAL(NVAL)
  48. CHARACTER*(4) K4ILOI
  49. CHARACTER*(LOCOMP) NOMCMP
  50. CHARACTER*(*) CMNAME
  51. REAL*8 VALPAR(NPARA), XVAL(NVAL)
  52. C
  53. C Fonctions externes
  54. C
  55. C
  56. C Datas pour definir les parametrages de reference des composantes
  57. C
  58.  
  59. C
  60. C Datas pour definir les parametrages de reference des composantes
  61. C
  62. INTEGER NPYOUN, NPNU, NPALPH, NPSMAX,
  63. & NPAF0, NPAF1, NPAF2, NPAF3, NPAF4, NPAF5, NPAF6
  64. PARAMETER (NPYOUN=3, NPNU=3, NPALPH=2, NPSMAX=3,
  65. & NPAF0=3, NPAF1=5, NPAF2=3, NPAF3=4, NPAF4=3,
  66. & NPAF5=3, NPAF6=3)
  67. REAL*8 PAYOUN(NPYOUN), PANU(NPNU), PAALPH(NPALPH),
  68. & PASMAX(NPSMAX),
  69. & PAAF0(NPAF0), PAAF1(NPAF1), PAAF2(NPAF2),
  70. & PAAF3(NPAF3), PAAF4(NPAF4), PAAF5(NPAF5),
  71. & PAAF6(NPAF6)
  72. C
  73. C
  74. C
  75. C---------------------- Debut du code executable -----------------------
  76. C
  77. C
  78. IERUT=0
  79. K4ILOI = CMNAME(13:16)
  80. *
  81. *
  82. IF (K4ILOI.EQ.' 22') THEN
  83.  
  84. C
  85. C BOUCLE SUR TOUTES LES COMPOSANTES
  86. C
  87. DO 10 IC=1,NVAL
  88.  
  89. NOMCMP = NOMVAL(IC)
  90.  
  91. IF(IVALIS(IC).EQ.1) THEN
  92. C
  93. IF (NOMCMP.EQ.'YOUN') THEN
  94. PAYOUN(1) = VALPAR (1)
  95. PAYOUN(2) = VALPAR (2)
  96. PAYOUN(3) = VALPAR (3)
  97. VALCMP=FVYOUN(PAYOUN,NPYOUN,IERUT)
  98. C
  99. ELSE IF (NOMCMP.EQ.'NU ') THEN
  100. PANU(1) = VALPAR (1)
  101. PANU(2) = VALPAR (2)
  102. PANU(3) = VALPAR (3)
  103. VALCMP=FVNU(PANU,NPNU,IERUT)
  104. C
  105. ELSE IF (NOMCMP.EQ.'ALPH') THEN
  106. PAALPH(1) = VALPAR (1)
  107. PAALPH(2) = VALPAR (4)
  108. VALCMP=FVALPH(PAALPH,NPALPH,IERUT)
  109. C
  110. ELSE IF (NOMCMP.EQ.'SMAX') THEN
  111. PASMAX(1) = VALPAR (1)
  112. PASMAX(2) = VALPAR (2)
  113. PASMAX(3) = VALPAR (3)
  114. VALCMP=FVSMAX(PASMAX,NPSMAX,IERUT)
  115. C
  116. ELSE IF (NOMCMP.EQ.'AF0 ') THEN
  117. PAAF0 (1) = VALPAR (5)
  118. PAAF0 (2) = VALPAR (6)
  119. PAAF0 (3) = VALPAR (7)
  120. VALCMP=FVAF0(PAAF0 ,NPAF0,IERUT)
  121. C
  122. ELSE IF (NOMCMP.EQ.'AF1 ') THEN
  123. PAAF1 (1) = VALPAR (5)
  124. PAAF1 (2) = VALPAR (6)
  125. PAAF1 (3) = VALPAR (7)
  126. PAAF1 (4) = VALPAR (8)
  127. PAAF1 (5) = VALPAR (9)
  128. VALCMP=FVAF1(PAAF1 ,NPAF1,IERUT)
  129. C
  130. ELSE IF (NOMCMP.EQ.'AF2 ') THEN
  131. PAAF2 (1) = VALPAR (5)
  132. PAAF2 (2) = VALPAR (6)
  133. PAAF2 (3) = VALPAR (7)
  134. VALCMP=FVAF2(PAAF2 ,NPAF2,IERUT)
  135. C
  136. ELSE IF (NOMCMP.EQ.'AF3 ') THEN
  137. PAAF3 (1) = VALPAR (5)
  138. PAAF3 (2) = VALPAR (6)
  139. PAAF3 (3) = VALPAR (7)
  140. PAAF3 (4) = VALPAR (8)
  141. VALCMP=FVAF3(PAAF3 ,NPAF3,IERUT)
  142. C
  143. ELSE IF (NOMCMP.EQ.'AF4 ') THEN
  144. PAAF4 (1) = VALPAR (5)
  145. PAAF4 (2) = VALPAR (6)
  146. PAAF4 (3) = VALPAR (7)
  147. VALCMP=FVAF4(PAAF4 ,NPAF4,IERUT)
  148. C
  149. ELSE IF (NOMCMP.EQ.'AF5 ') THEN
  150. PAAF5 (1) = VALPAR (5)
  151. PAAF5 (2) = VALPAR (6)
  152. PAAF5 (3) = VALPAR (7)
  153. VALCMP=FVAF5(PAAF5 ,NPAF5,IERUT)
  154. C
  155. ELSE IF (NOMCMP.EQ.'AF6 ') THEN
  156. PAAF6 (1) = VALPAR (5)
  157. PAAF6 (2) = VALPAR (6)
  158. PAAF6 (3) = VALPAR (7)
  159. VALCMP=FVAF6(PAAF6 ,NPAF6,IERUT)
  160. C
  161. ENDIF
  162. XVAL(IC)=VALCMP
  163. ENDIF
  164. 10 CONTINUE
  165.  
  166.  
  167. C
  168. C AUTRES LOIS
  169. C
  170. ELSE
  171. IERUT=201
  172. C
  173. ENDIF
  174. C
  175. RETURN
  176. END
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  

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