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

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