Télécharger arperr.eso

Retour à la liste

Numérotation des lignes :

  1. C ARPERR SOURCE BP208322 20/02/06 21:15:05 10512
  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 PPARAM
  48. -INC CCOPTIO
  49. -INC CCHAMP
  50. -INC SMRIGID
  51. -INC TARWORK
  52. c -INC TARTRAK
  53.  
  54. INTEGER IPMAUP
  55. LOGICAL SYM
  56. LOGICAL OUT
  57.  
  58. MAUP=IPMAUP
  59. c SEGACT MAUP
  60.  
  61. * si ido=99, le processus doit s'arreter
  62. IF (ido .EQ. 99) THEN
  63.  
  64. NOPX =ITRAK(1)
  65. NBX =ITRAK(2)
  66. NRORTH=ITRAK(3)
  67. NITREF=ITRAK(4)
  68. NRSTRT=ITRAK(5)
  69.  
  70. *Information sur les etapes de la factorisations
  71. IF (IIMPI .GE. 200) THEN
  72. WRITE(IOIMP,*)'Nb de mises a jour de l espace solution', nopx
  73. WRITE(IOIMP,*)'Nb de produits A*X', nopx
  74. WRITE(IOIMP,*)'Nb de produits B*X',nbx
  75. WRITE(IOIMP,*)'Nb de re-orthogonalisations',nrorth
  76. WRITE(IOIMP,*)'Nb de redemarrages implicites',nrstrt
  77. ENDIF
  78.  
  79. IF (nrstrt .GT. 0) THEN
  80. WRITE(*,*) nrstrt , 'redemarrage(s) a (ont) été effectue(s)'
  81. ENDIF
  82.  
  83. OUT=.TRUE.
  84.  
  85. * pour quelle raison doit-on sortir ?
  86. * si info=0, tout c'est bien passe, sinon un probleme
  87. IF (info .NE. 0) THEN
  88.  
  89. IF (info .EQ. 1) THEN
  90. WRITE(IOIMP,*) 'Nombre maximal d iterations atteint'
  91. WRITE(IOIMP,*) 'Toutes les valeurs propres sont trouvees'
  92. WRITE(IOIMP,*) 'mais toutes n ont pas converge'
  93. ELSEIF (info .EQ. 3) THEN
  94. WRITE(IOIMP,*) 'Impossible d appliquer les shifts lors'
  95. WRITE(IOIMP,*) 'du redemarrage implicite. Diminuer'
  96. WRITE(IOIMP,*) 'le nombre de valeurs propres demandees'
  97. ELSEIF (info .EQ. -1) THEN
  98. WRITE(IOIMP,*) 'La dimension du probleme doit etre'
  99. WRITE(IOIMP,*) 'strictement positive'
  100. ELSEIF (info .EQ. -2) THEN
  101. WRITE(IOIMP,*) 'Le nombre de valeurs propres souhaitées'
  102. WRITE(IOIMP,*) 'doit etre strictement positif'
  103. ELSEIF (info .EQ. -3) THEN
  104. WRITE(IOIMP,*) 'Dimension du probleme : N', v(/1)
  105. WRITE(IOIMP,*) 'Nb de vecteurs d Arnoldi a calculer : NA='
  106. & ,v(/2)
  107. WRITE(IOIMP,*) 'Nb de valeurs propres a calculer : NV',nev
  108.  
  109. IF (SYM) THEN
  110. WRITE(IOIMP,*) 'Verifier que NV < NA <= N'
  111. ELSE
  112. WRITE(IOIMP,*) 'Verifier que 2 <= NA - NV <= N'
  113. ENDIF
  114.  
  115. ELSEIF (info .EQ. -5) THEN
  116. WRITE(IOIMP,*) 'Option de tri selectionnee : ', which
  117. WRITE(IOIMP,*) 'Choisir parmi les options suivantes :'
  118.  
  119. IF (SYM) THEN
  120. WRITE(IOIMP,*) 'LM, SM, LA, SA, BE'
  121. ELSE
  122. WRITE(IOIMP,*) 'LM, SM, LR, SR, LI , SI'
  123. ENDIF
  124.  
  125. ELSEIF (info .EQ. -8) THEN
  126. WRITE(IOIMP,*) 'Erreur lors du calcul des valeurs propres'
  127. ELSEIF (info .EQ. -9) THEN
  128. WRITE(IOIMP,*) 'Le vecteur initial est nul ou erreur'
  129. WRITE(IOIMP,*) 'lors du calcul des vecteurs propres'
  130. ELSEIF (info .EQ. -9999) THEN
  131. WRITE(IOIMP,*) 'Echec du calcul des vecteurs d Arnoldi'
  132. ENDIF
  133.  
  134. CALL ERREUR(223)
  135.  
  136. ENDIF
  137.  
  138.  
  139. ENDIF
  140.  
  141. c SEGDES MAUP
  142.  
  143. END
  144.  
  145.  

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