Télécharger arperr.eso

Retour à la liste

Numérotation des lignes :

  1. C ARPERR SOURCE BP208322 15/10/21 21:15:06 8690
  2. SUBROUTINE ARPERR (IPMAUP,SYM,OUT)
  3.  
  4.  
  5. ***********************************************************************
  6. *
  7. * A R P E R R
  8. *
  9. * FONCTION:
  10. * ---------
  11. *
  12. * GESTION DES MESSAGES D'ERREUR EN EN SORTIE DES
  13. * SUBROUTINES ARPACK
  14. *
  15. *
  16. *
  17. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  18. * -----------
  19. *
  20. * IPMAUP ENTIER (E) POINTEUR VARIABLES ARPACK
  21. *
  22. * SYM LOGIQUE (E) PROBLEME SYMETRIQUE OU NON
  23. *
  24. * OUT LOGIQUE (S) FLAG DE CONVERGENCE
  25. *
  26. *
  27. * SOUS-PROGRAMMES APPELES:
  28. * ------------------------
  29. *
  30. * NEANT
  31. *
  32. * AUTEUR,DATE DE CREATION:
  33. * -------------------------
  34. *
  35. * PASCAL BOUDA 16 SEPTEMBRE 2015
  36. *
  37. * LANGAGE:
  38. * --------
  39. *
  40. * FORTRAN 77 & 90
  41. *
  42. ***********************************************************************
  43.  
  44. IMPLICIT INTEGER(I-N)
  45. IMPLICIT REAL*8 (A-H,O-Z)
  46.  
  47. -INC CCOPTIO
  48. -INC CCHAMP
  49. -INC SMRIGID
  50. -INC TARWORK
  51. -INC TARTRAK
  52.  
  53. INTEGER IPMAUP
  54. LOGICAL SYM
  55. LOGICAL OUT
  56.  
  57. MAUP=IPMAUP
  58. SEGACT MAUP
  59.  
  60. * si ido=99, le processus doit s'arreter
  61. IF (ido .EQ. 99) THEN
  62.  
  63.  
  64. *Information sur les etapes de la factorisations
  65. IF (IIMPI .GE. 200) THEN
  66. WRITE(IOIMP,*)'Nb de mises a jour de l espace solution', nopx
  67. WRITE(IOIMP,*)'Nb de produits A*X', nopx
  68. WRITE(IOIMP,*)'Nb de produits B*X',nbx
  69. WRITE(IOIMP,*)'Nb de re-orthogonalisations',nrorth
  70. WRITE(IOIMP,*)'Nb de redemarrages implicites',nrstrt
  71. ENDIF
  72.  
  73. IF (nrstrt .GT. 0) THEN
  74. WRITE(*,*) nrstrt , 'redemarrage(s) a (ont) été effectue(s)'
  75. ENDIF
  76.  
  77. OUT=.TRUE.
  78.  
  79. * pour quelle raison doit-on sortir ?
  80. * si info=0, tout c'est bien passe, sinon un probleme
  81. IF (info .NE. 0) THEN
  82.  
  83. IF (info .EQ. 1) THEN
  84. WRITE(IOIMP,*) 'Nombre maximal d iterations atteint'
  85. WRITE(IOIMP,*) 'Toutes les valeurs propres sont trouvees'
  86. WRITE(IOIMP,*) 'mais toutes n ont pas converge'
  87. ELSEIF (info .EQ. 3) THEN
  88. WRITE(IOIMP,*) 'Impossible d appliquer les shifts lors'
  89. WRITE(IOIMP,*) 'du redemarrage implicite. Diminuer'
  90. WRITE(IOIMP,*) 'le nombre de valeurs propres demandees'
  91. ELSEIF (info .EQ. -1) THEN
  92. WRITE(IOIMP,*) 'La dimension du probleme doit etre'
  93. WRITE(IOIMP,*) 'strictement positive'
  94. ELSEIF (info .EQ. -2) THEN
  95. WRITE(IOIMP,*) 'Le nombre de valeurs propres souhaitées'
  96. WRITE(IOIMP,*) 'doit etre strictement positif'
  97. ELSEIF (info .EQ. -3) THEN
  98. WRITE(IOIMP,*) 'Dimension du probleme : N', v(/1)
  99. WRITE(IOIMP,*) 'Nb de vecteurs d Arnoldi a calculer : NA='
  100. & ,v(/2)
  101. WRITE(IOIMP,*) 'Nb de valeurs propres a calculer : NV',nev
  102.  
  103. IF (SYM) THEN
  104. WRITE(IOIMP,*) 'Verifier que NV < NA <= N'
  105. ELSE
  106. WRITE(IOIMP,*) 'Verifier que 2 <= NA - NV <= N'
  107. ENDIF
  108.  
  109. ELSEIF (info .EQ. -5) THEN
  110. WRITE(IOIMP,*) 'Option de tri selectionnee : ', which
  111. WRITE(IOIMP,*) 'Choisir parmi les options suivantes :'
  112.  
  113. IF (SYM) THEN
  114. WRITE(IOIMP,*) 'LM, SM, LA, SA, BE'
  115. ELSE
  116. WRITE(IOIMP,*) 'LM, SM, LR, SR, LI , SI'
  117. ENDIF
  118.  
  119. ELSEIF (info .EQ. -8) THEN
  120. WRITE(IOIMP,*) 'Erreur lors du calcul des valeurs propres'
  121. ELSEIF (info .EQ. -9) THEN
  122. WRITE(IOIMP,*) 'Le vecteur initial est nul ou erreur'
  123. WRITE(IOIMP,*) 'lors du calcul des vecteurs propres'
  124. ELSEIF (info .EQ. -9999) THEN
  125. WRITE(IOIMP,*) 'Echec du calcul des vecteurs d Arnoldi'
  126. ENDIF
  127.  
  128. CALL ERREUR(223)
  129.  
  130. ENDIF
  131.  
  132. ENDIF
  133.  
  134.  
  135. IPMAUP=MAUP
  136. SEGDES MAUP
  137.  
  138.  
  139. END
  140.  

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