Télécharger devint.eso

Retour à la liste

Numérotation des lignes :

  1. C DEVINT SOURCE CHAT 05/01/12 22:46:10 5004
  2. SUBROUTINE DEVINT(ICHATE,ICHAFO,KTNUM,KTRAV,REPRIS)
  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. * Interpolation d'un liste REEL. *
  11. * Remplissage du segment de travail KTRAV. *
  12. * *
  13. * Param}tres: *
  14. * *
  15. * e ICHATE pointeur sur un LISTREEL, abscisse *
  16. * e ICHAFO pointeur sur un LISTREEL, ordonn{e *
  17. * e KTNUM segment contenant les param}tres num{riques *
  18. * s KTRAV segment de travail *
  19. * e REPRIS logique indiquant si le calcul est en reprise *
  20. * *
  21. * Auteur, date de cr{ation: *
  22. * *
  23. * Lionel VIVAN, le 17 avril 1990 *
  24. * *
  25. *--------------------------------------------------------------------*
  26. *
  27. -INC CCOPTIO
  28. -INC SMLREEL
  29. *
  30. SEGMENT,MTNUM
  31. REAL*8 XDT(NPC1),XTEMPS(NPC1)
  32. ENDSEGMENT
  33. SEGMENT,MTRAV
  34. REAL*8 FTCHG(NPC2)
  35. ENDSEGMENT
  36. LOGICAL REPRIS
  37. *
  38. MTNUM = KTNUM
  39. *
  40. NPC1 = XDT(/1)
  41. PASTEM = XDT(1)
  42. PASTS2 = PASTEM * 0.5D0
  43. MLREE1 = ICHATE
  44. SEGACT MLREE1
  45. NF = MLREE1.PROG(/1)
  46. MLREE2 = ICHAFO
  47. SEGACT MLREE2
  48. NPC2 = 2 * NPC1
  49. SEGINI MTRAV
  50. KTRAV = MTRAV
  51. *
  52. * interpolation du chargement
  53. *
  54. N1 = 1
  55. N2 = 2
  56. IF ( REPRIS ) THEN
  57. TEMP = XTEMPS(1)
  58. TES2 = TEMP - PASTS2
  59. CALL INTLIN(TES2,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)
  60. IF (IRET.EQ.0) THEN
  61. * temps en dehors de la liste
  62. CALL ERREUR(208)
  63. RETURN
  64. ENDIF
  65. ELSE
  66. FTEM = 0.D0
  67. ENDIF
  68. IT2 = 1
  69. FTCHG(IT2) = FTEM
  70. NPC3 = NPC1 - 1
  71. DO 10 IT = 1,NPC3
  72. TEMP = XTEMPS(IT)
  73. CALL INTLIN(TEMP,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)
  74. IF (IRET.EQ.0) THEN
  75. * temps en dehors de la liste
  76. CALL ERREUR(208)
  77. RETURN
  78. ENDIF
  79. IT2 = IT2 + 1
  80. FTCHG(IT2) = FTEM
  81. TES2 = TEMP + PASTS2
  82. CALL INTLIN(TES2,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)
  83. IF (IRET.EQ.0) THEN
  84. * temps en dehors de la liste
  85. CALL ERREUR(208)
  86. RETURN
  87. ENDIF
  88. IT2 = IT2 + 1
  89. FTCHG(IT2) = FTEM
  90. 10 CONTINUE
  91. * end do
  92. TEMP = XTEMPS(NPC1)
  93. CALL INTLIN(TEMP,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)
  94. IF (IRET.EQ.0) THEN
  95. * temps en dehors de la liste
  96. CALL ERREUR(208)
  97. RETURN
  98. ENDIF
  99. IT2 = IT2 + 1
  100. FTCHG(IT2) = FTEM
  101. *
  102. SEGDES,MLREE1,MLREE2
  103. *
  104. END
  105.  
  106.  

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