Télécharger dyne71.eso

Retour à la liste

Numérotation des lignes :

dyne71
  1. C DYNE71 SOURCE KICH 07/12/10 21:15:57 5994
  2. SUBROUTINE DYNE71(ITLA,PDT,MTRA,NLIAA,NXPALA,NPLAA,NIPALA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *--------------------------------------------------------------------*
  6. * *
  7. * Op{rateur DYNE : algorithme de Fu - de Vogelaere *
  8. * ________________________________________________ *
  9. * *
  10. * D{termination des param}tres de liaison pour la base A. *
  11. * *
  12. * Param}tres: *
  13. * *
  14. * e ITLA Table rassemblant la description des liaisons *
  15. * e PDT Valeur du pas de temps *
  16. * es MTRA Segment de travail temporaire (indique si liaison POL) *
  17. * s NLIAA Nombre total de liaisons. *
  18. * s NXPALA Maxi du nombre de param}tres d{finissant une liaison. *
  19. * s NPLAA Maxi du nombre de points intervenant dans une liaison. *
  20. * s NIPALA Maxi du nombre de param}tres d{finissant une liaison. *
  21. * *
  22. * Auteur, date de cr{ation: *
  23. * *
  24. * Lionel VIVAN, le 24 aout 1989. *
  25. * *
  26. *--------------------------------------------------------------------*
  27.  
  28. -INC PPARAM
  29. -INC CCOPTIO
  30. -INC SMTABLE
  31. *
  32. SEGMENT,MTRA
  33. INTEGER IPLA(NTRA)
  34. ENDSEGMENT
  35. *
  36. LOGICAL L0,L1
  37. CHARACTER*8 TYPRET,CHARRE
  38. CHARACTER*40 CMOT
  39. *
  40. * Boucle sur le nombre de liaisons
  41. *
  42. NXPALA = 0
  43. NIPALA = 20
  44. NPLAA = 0
  45. NLIAA = 0
  46. IL = 0
  47. 10 CONTINUE
  48. IL = IL + 1
  49. TYPRET = ' '
  50. CALL ACCTAB(ITLA,'ENTIER',IL,X0,' ',L0,IP0,
  51. & TYPRET,I0,X0,CHARRE,L1,ITLIAI)
  52. IF (IERR.NE.0) RETURN
  53. IF (ITLIAI.NE.0) THEN
  54. NLIAA = NLIAA + 1
  55. CALL ACCTAB(ITLIAI,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
  56. & 'MOT',I1,X0,CMOT,L1,IP1)
  57. IF (IERR.NE.0) RETURN
  58. *
  59. * ------ liaison {l{mentaire POINT_PLAN_FLUIDE
  60. *
  61. IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
  62. IPLA(IL) = 0
  63. KIPALA = 3
  64. KXPALA = 6
  65. KPLAA = 1
  66. NXPALA = MAX(NXPALA,KXPALA)
  67. NIPALA = MAX(NIPALA,KIPALA)
  68. NPLAA = MAX(NPLAA,KPLAA)
  69. *
  70. * ------ liaison {l{mentaire POINT_PLAN
  71. *
  72. ELSE IF (CMOT(1:10).EQ.'POINT_PLAN') THEN
  73. IPLA(IL) = 0
  74. TYPRET = ' '
  75. CALL ACCTAB(ITLIAI,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0,
  76. & TYPRET,I1,XAMO,CHARRE,L1,IP1)
  77. IF (IERR.NE.0) RETURN
  78. IF (TYPRET.EQ.'FLOTTANT') THEN
  79. KXPALA = 3
  80. ELSE
  81. KXPALA = 2
  82. ENDIF
  83. KIPALA = 3
  84. KPLAA = 1
  85. NXPALA = MAX(NXPALA,KXPALA)
  86. NIPALA = MAX(NIPALA,KIPALA)
  87. NPLAA = MAX(NPLAA,KPLAA)
  88. *
  89. * ------ liaison {l{mentaire de couplage en vitesse
  90. *
  91. ELSE IF (CMOT(1:16).EQ.'COUPLAGE_VITESSE') THEN
  92. IPLA(IL) = 0
  93. KXPALA = 1
  94. KPLAA = 2
  95. KIPALA = 3
  96. NXPALA = MAX(NXPALA,KXPALA)
  97. NIPALA = MAX(NIPALA,KIPALA)
  98. NPLAA = MAX(NPLAA,KPLAA)
  99. *
  100. * ------ liaison {l{mentaire de couplage en d{placement
  101. *
  102. ELSE IF (CMOT(1:20).EQ.'COUPLAGE_DEPLACEMENT') THEN
  103. IPLA(IL) = 0
  104. KXPALA = 1
  105. KPLAA = 2
  106. KIPALA = 3
  107. NXPALA = MAX(NXPALA,KXPALA)
  108. NIPALA = MAX(NIPALA,KIPALA)
  109. NPLAA = MAX(NPLAA,KPLAA)
  110. *+*
  111. * ------ liaison elementaire POLYNOMIALE
  112. *
  113. ELSE IF (CMOT(1:11).EQ.'POLYNOMIALE') THEN
  114. IPLA(IL) = 1
  115. CALL DYPOL0(ITLIAI,PDT,NX,NI)
  116. IF (IERR.NE.0) RETURN
  117. KXPALA = NX
  118. KPLAA = NI
  119. KIPALA = 3
  120. NXPALA = MAX(NXPALA,KXPALA)
  121. NIPALA = MAX(NIPALA,KIPALA)
  122. NPLAA = MAX(NPLAA,KPLAA)
  123. *
  124. * ------ liaison {l{mentaire ...
  125. *
  126. * ELSE IF (CMOT(1: ).EQ.' ') THEN
  127. * IPLA(IL) = 0
  128. * KXPALA = ...
  129. * KIPALA = ...
  130. * KPLAA = ...
  131. * NXPALA = MAX(NXPALA,KXPALA)
  132. * NIPALA = MAX(NIPALA,KIPALA)
  133. * NPLAA = MAX(NPLAA,KPLAA)
  134. ELSE
  135. CALL ERREUR(490)
  136. RETURN
  137. ENDIF
  138. GOTO 10
  139. ENDIF
  140. *
  141. END
  142.  
  143.  
  144.  
  145.  

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