Télécharger sespa5.eso

Retour à la liste

Numérotation des lignes :

sespa5
  1. C SESPA5 SOURCE BP208322 19/04/29 21:15:15 10213
  2. C SESPA5 SOURCE WP 23/08/94
  3. C SUBROUTINE SESPA5 ( IPLVA1, IPLVA2, IPLCH1, IPLCH2,
  4. C 1 IPMASS, BOOL, NBMOD )
  5. ************************************************************************
  6. *
  7. * SESPA5
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * ON TEST LA CONVERGENCE DES ELEMENTS PROPRES:
  14. * - TEST SUR LA VALEUR PROPRE.
  15. * - TEST SUR LA MASSE GENERALISEE.
  16. *
  17. * MODE D'APPEL:
  18. * -------------
  19. *
  20. * CALL SESPA5 ( IPLVA1,IPLVA2,IPLCH1,IPLCH2,IPMASS,BOOL,NBMOD )
  21. *
  22. * AUTEUR, DATE DE CREATION:
  23. * -------------------------
  24. *
  25. * A.M. JOLIVALT, W. PASILLAS 29 / 07 / 94. ( ESOPE )
  26. *
  27. ************************************************************
  28.  
  29. SUBROUTINE SESPA5 ( IPLVA1, IPLVA2, IPLCH1, IPLCH2,
  30. 1 IPMASS, BOOL, NBMOD )
  31.  
  32. IMPLICIT INTEGER(I-N)
  33. IMPLICIT REAL*8 (A-H,O-Z)
  34.  
  35. -INC PPARAM
  36. -INC CCOPTIO
  37. -INC SMLREEL
  38. -INC SMLCHPO
  39.  
  40. ******
  41. * -- CONSTANTES --
  42. ***
  43. PARAMETER ( PRECI1 = 1.0D-8 )
  44. PARAMETER ( PRECI2 = 1.0D-8 )
  45.  
  46. ******
  47. * -- ARGUMENTS --
  48. ***
  49. POINTEUR IPLVA1.MLREEL, IPLVA2.MLREEL
  50. POINTEUR IPLCH1.MLCHPO, IPLCH2.MLCHPO
  51. INTEGER NBMOD, IPMASS
  52. LOGICAL BOOL
  53.  
  54. ******
  55. * -- VARIABLES LOCALES --
  56. ***
  57. INTEGER IB100
  58. REAL*8 ALPHA1, ALPHA2, RESIDU
  59.  
  60.  
  61. ******
  62. * -- ON TRIE LES LISTES --
  63. * selon |lambda| croissant de maniere a avoir
  64. * les modes les plus converges en 1er
  65. ***
  66. CALL ORDVEC ( IPLVA1, IPLCH1,.true. )
  67. IF ( IERR .NE. 0 ) RETURN
  68. CALL ORDVEC ( IPLVA2, IPLCH2,.true. )
  69. IF ( IERR .NE. 0 ) RETURN
  70.  
  71. SEGACT ,IPLVA1, IPLVA2, IPLCH1, IPLCH2
  72.  
  73. c jusqu'a preuve du contraire, on suppose qu'on est converge
  74. BOOL = .TRUE.
  75.  
  76. DO 100 IB100 = 1, NBMOD
  77. ******
  78. * -- CONVERGENCE DE LA VALEUR PROPRE --
  79. ***
  80. ALPHA1 = IPLVA1.PROG( IB100 )
  81. ALPHA2 = IPLVA2.PROG( IB100 )
  82. RESIDU = ABS( ALPHA2 - ALPHA1 )
  83. IF ( RESIDU .GT. PRECI1 * ABS(ALPHA2) ) THEN
  84. BOOL = .FALSE.
  85. GOTO 110
  86. ELSE
  87. ******
  88. * -- CONVERGENCE DE LA MASSE GENERALISEE --
  89. ***
  90. IPCHP1 = IPLCH1.ICHPOI( IB100 )
  91. IPCHP2 = IPLCH2.ICHPOI( IB100 )
  92. CALL XTMX ( IPCHP1, IPMASS, ALPHA1 )
  93. IF ( IERR .NE. 0 ) RETURN
  94. CALL XTMX ( IPCHP2, IPMASS, ALPHA2 )
  95. IF ( IERR .NE. 0 ) RETURN
  96. RESIDU = ABS( 1.0D0 - ABS( ALPHA1 / ALPHA2 ) )
  97. IF ( RESIDU .GT. PRECI2 ) THEN
  98. BOOL = .FALSE.
  99. GOTO 110
  100. ENDIF
  101. ENDIF
  102. 100 CONTINUE
  103. 110 CONTINUE
  104.  
  105. SEGDES ,IPLVA1, IPLVA2, IPLCH1, IPLCH2
  106.  
  107. RETURN
  108. END
  109.  
  110.  
  111.  
  112.  
  113.  

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