Télécharger cotraj.eso

Retour à la liste

Numérotation des lignes :

cotraj
  1. C COTRAJ SOURCE OF166741 25/09/30 21:15:13 12371
  2.  
  3. SUBROUTINE COTRAJ(wrk52,wrk53,WRK2,NUCO,IPOS,NSUP,NPOINT)
  4. C-----------------------------------------------------------------
  5. C
  6. C RECUPERAGE DE COURBE (RELATIVEMENT GENERAL)
  7. C
  8. C NUCO : COMPOSANTE DE XMAT DONNANT L'EVOLUTION
  9. C IPOS : DEBUT DE STOCKAGE DE LA COURBE DANS TRAC
  10. C NSUP : NOMBRE DE POINT A SUPPRIMER
  11. C NPOINT : NOMBRE DE POINT STOCKE
  12. C
  13. C-----------------------------------------------------------------
  14. IMPLICIT INTEGER(I-N)
  15. IMPLICIT REAL*8(A-H,O-Z)
  16. -INC SMEVOLL
  17. -INC SMLREEL
  18. -INC DECHE
  19. SEGMENT WRK2
  20. REAL*8 TRAC(LTRAC)
  21. ENDSEGMENT
  22. *
  23. * QUELQUES INITIALISATIONS A 0
  24. *
  25. KERRE=0
  26. NPOINT=0
  27. LTRAC=TRAC(/1)
  28. CALL ZDANUL(TRAC(IPOS),LTRAC-IPOS+1)
  29. *
  30. * LOIS
  31. *
  32. MEVOLL=nint(XMAT(NUCO))
  33. IF(MEVOLL.EQ.0) THEN
  34. KERRE=37
  35. RETURN
  36. ENDIF
  37. SEGACT MEVOLL
  38. IF(IEVOLL(/1).NE.1) THEN
  39. KERRE=31
  40. RETURN
  41. ENDIF
  42. *
  43. * COURBE ( SELON Y )
  44. *
  45. KEVOLL=IEVOLL(1)
  46. SEGDES MEVOLL
  47. SEGACT KEVOLL
  48. MLREEL=IPROGX
  49. MLREE1=IPROGY
  50. SEGDES KEVOLL
  51. SEGACT MLREEL,MLREE1
  52. NBPOIX=PROG(/1)
  53. NBPOIY=MLREE1.PROG(/1)
  54. *
  55. * ERREUR
  56. *
  57. IF(NBPOIX.NE.NBPOIY) KERRE=31
  58. IF(2*(NBPOIX-NSUP).GT.LTRAC-IPOS+1) KERRE=31
  59. IF (KERRE.NE.0) RETURN
  60. *
  61. IF (NSUP.GT.0)THEN
  62. PSUP= mlreel.PROG(NSUP+1)
  63. ELSE
  64. PSUP=0.D0
  65. ENDIF
  66. NCOURB=0
  67. DO I=NSUP+1,NBPOIX
  68. NCOURB=NCOURB+1
  69. TRAC(IPOS+2*NCOURB-2)= MLREEL.PROG(I)-PSUP
  70. TRAC(IPOS+2*NCOURB-1)= MLREE1.PROG(I)
  71. ENDDO
  72.  
  73. NPOINT=2*NCOURB
  74. C
  75. SEGDES MLREEL,MLREE1
  76.  
  77. RETURN
  78. END
  79.  
  80.  
  81.  

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