Télécharger dyne21.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE21 SOURCE BP208322 17/07/10 21:15:12 9488
  2. SUBROUTINE DYNE21(ITLA,PDT,MTRA,NLIAA,NXPALA,NPLAA,NIPALA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *--------------------------------------------------------------------*
  6. * *
  7. * Operateur DYNE : *
  8. * ________________________________________________ *
  9. * *
  10. * Determination des parametres de liaison pour la base A. *
  11. * *
  12. * Parametres: *
  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 parametres definissant une liaison. *
  19. * s NPLAA Maxi du nombre de points intervenant dans une liaison. *
  20. * s NIPALA Maxi du nombre de parametres definissant une liaison. *
  21. * *
  22. * Auteur, date de creation: *
  23. * *
  24. * Lionel VIVAN, le 24 aout 1989. *
  25. * *
  26. *--------------------------------------------------------------------*
  27. -INC CCOPTIO
  28. -INC SMTABLE
  29. *
  30. SEGMENT,MTRA
  31. INTEGER IPLA(NTRA)
  32. ENDSEGMENT
  33. *
  34. LOGICAL L0,L1
  35. CHARACTER*8 TYPRET,CHARRE
  36. CHARACTER*40 CMOT
  37. *
  38. * Boucle sur le nombre de liaisons
  39. *
  40. NXPALA = 0
  41. NIPALA = 20
  42. NPLAA = 0
  43. NLIAA = 0
  44. IL = 0
  45. 10 CONTINUE
  46. IL = IL + 1
  47. TYPRET = ' '
  48. CALL ACCTAB(ITLA,'ENTIER',IL,X0,' ',L0,IP0,
  49. & TYPRET,I0,X0,CHARRE,L1,ITLIAI)
  50. IF (IERR.NE.0) RETURN
  51. IF (ITLIAI.NE.0) THEN
  52. NLIAA = NLIAA + 1
  53. CALL ACCTAB(ITLIAI,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
  54. & 'MOT',I1,X0,CMOT,L1,IP1)
  55. IF (IERR.NE.0) RETURN
  56. *
  57. * ------ liaison elementaire POINT_PLAN_FLUIDE
  58. *
  59. IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
  60. IPLA(IL) = 0
  61. KIPALA = 3
  62. KXPALA = 6
  63. KPLAA = 1
  64. NXPALA = MAX(NXPALA,KXPALA)
  65. NIPALA = MAX(NIPALA,KIPALA)
  66. NPLAA = MAX(NPLAA,KPLAA)
  67. *
  68. * ------ liaison elementaire POINT_PLAN
  69. *
  70. ELSE IF (CMOT(1:10).EQ.'POINT_PLAN') THEN
  71. IPLA(IL) = 0
  72. TYPRET = ' '
  73. CALL ACCTAB(ITLIAI,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0,
  74. & TYPRET,I1,XAMO,CHARRE,L1,IP1)
  75. IF (IERR.NE.0) RETURN
  76. IF (TYPRET.EQ.'FLOTTANT') THEN
  77. KXPALA = 3
  78. ELSE
  79. KXPALA = 2
  80. ENDIF
  81. KIPALA = 3
  82. KPLAA = 1
  83. NXPALA = MAX(NXPALA,KXPALA)
  84. NIPALA = MAX(NIPALA,KIPALA)
  85. NPLAA = MAX(NPLAA,KPLAA)
  86. *
  87. * ------ liaison elementaire de couplage en vitesse
  88. *
  89. ELSE IF (CMOT(1:16).EQ.'COUPLAGE_VITESSE') THEN
  90. IPLA(IL) = 0
  91. KXPALA = 1
  92. KPLAA = 2
  93. KIPALA = 3
  94. NXPALA = MAX(NXPALA,KXPALA)
  95. NIPALA = MAX(NIPALA,KIPALA)
  96. NPLAA = MAX(NPLAA,KPLAA)
  97. *
  98. * ------ liaison elementaire de couplage en deplacement
  99. *
  100. ELSE IF (CMOT(1:20).EQ.'COUPLAGE_DEPLACEMENT') THEN
  101. IPLA(IL) = 0
  102. cbp KXPALA = 1
  103. KXPALA = 2
  104. KPLAA = 2
  105. KIPALA = 3
  106. cbp on a besoin de savoir si FONCTION_CONVOLUTION ou pas
  107. TYPRET=' '
  108. CALL ACCTAB(ITLIAI,'MOT',I0,X0,'FONCTION_CONVOLUTION',L0,IP0
  109. & ,TYPRET,I1,X1,CHARRE,L1,IP1)
  110. IF (IERR.NE.0) RETURN
  111. IF(TYPRET.EQ.'LISTREEL') THEN
  112. IPLA(IL) = 2
  113. KIPALA = 6
  114. ENDIF
  115. NXPALA = MAX(NXPALA,KXPALA)
  116. NIPALA = MAX(NIPALA,KIPALA)
  117. NPLAA = MAX(NPLAA,KPLAA)
  118. *+*
  119. * ------ liaison elementaire POLYNOMIALE
  120. *
  121. ELSE IF (CMOT(1:11).EQ.'POLYNOMIALE') THEN
  122. IPLA(IL) = 1
  123. CALL DYPOL0(ITLIAI,PDT,NX,NI)
  124. IF (IERR.NE.0) RETURN
  125. KXPALA = NX
  126. KPLAA = NI
  127. KIPALA = 3
  128. NXPALA = MAX(NXPALA,KXPALA)
  129. NIPALA = MAX(NIPALA,KIPALA)
  130. NPLAA = MAX(NPLAA,KPLAA)
  131. *
  132. * ------ liaison elementaire ...
  133. *
  134. * ELSE IF (CMOT(1: ).EQ.' ') THEN
  135. * IPLA(IL) = 0
  136. * KXPALA = ...
  137. * KIPALA = ...
  138. * KPLAA = ...
  139. * NXPALA = MAX(NXPALA,KXPALA)
  140. * NIPALA = MAX(NIPALA,KIPALA)
  141. * NPLAA = MAX(NPLAA,KPLAA)
  142. ELSE
  143. CALL ERREUR(490)
  144. RETURN
  145. ENDIF
  146. GOTO 10
  147. ENDIF
  148. *
  149. END
  150.  
  151.  
  152.  
  153.  
  154.  

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