Télécharger arslur.eso

Retour à la liste

Numérotation des lignes :

arslur
  1. C ARSLUR SOURCE CB215821 20/11/25 13:18:27 10792
  2. SUBROUTINE ARSLUR (IPRTRA,SIGMA,IPMAUP,QUAD,EPSI,INVER,
  3. & IPLVAR,IPLVER)
  4.  
  5. ************************************************************************
  6. *
  7. * A R S L U R
  8. *
  9. *
  10. *
  11. * FONCTION:
  12. * ---------
  13. *
  14. * CONSTRUCTION D'UN LISTREEL SOLUTION DES FREQUENCES ET D'UN MLCHPO
  15. * SOLUTION DES MODES CALCULES A PARTIR DES VARIABLES DE SORTIE
  16. * ARPACK
  17. *
  18. *
  19. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  20. * -----------
  21. *
  22. * IPRTRA ENTIER (E) POINTEUR DES OPERATEURS DE TRAVAIL
  23. *
  24. * SIGMA COMPLEX DP (E) VALEUR PROPRE DU PB [K-sigma*M] X = 0
  25. *
  26. * INVER LOGIQUE (E) .TRUE. -> PRODUIT SCALAIRE X'KX
  27. * .FALSE. -> PRODUIT SCALAIRE X'MX
  28. *
  29. * IPMAUP ENTIER (E) POINTEUR DES VARIABLES ARPACK
  30. *
  31. * QUAD LOGIQUE (E) PROBLEME QUADRATIQUE OU NON
  32. *
  33. * IPLVAR ENTIER (S) POINTEUR DE L'OBJET 'LISTREEL' CONTENANT
  34. * LA SUITE DES FREQUENCES PROPRES RELLES
  35. *
  36. * IPLVER ENTIER (S) POINTEUR DE L'OBJET 'LISTCHPO' CONTENANT
  37. * LA SUITE DES MODES PROPRES REELS
  38. *
  39. * SOUS-PROGRAMMES APPELES:
  40. * ------------------------
  41. *
  42. * MOTS1,MAXIM1,VCH1,ARPSHI,NORMA1,ARPVER
  43. *
  44. *
  45. * AUTEUR, DATE DE CREATION:
  46. * -------------------------
  47. *
  48. * PASCAL BOUDA 11 JUILLET 2015
  49. *
  50. ************************************************************************
  51.  
  52. IMPLICIT INTEGER(I-N)
  53. IMPLICIT REAL*8 (A-H,O-Z)
  54.  
  55.  
  56. -INC PPARAM
  57. -INC CCOPTIO
  58. -INC CCREEL
  59. -INC SMRIGID
  60. -INC SMVECTD
  61. -INC SMLCHPO
  62. -INC SMLREEL
  63. -INC TARWORK
  64.  
  65.  
  66.  
  67. INTEGER IPRTRA
  68. COMPLEX*16 SIGMA
  69. LOGICAL INVER
  70. INTEGER IPMAUP
  71. LOGICAL QUAD
  72. INTEGER IPLVAR
  73. INTEGER IPLVER
  74.  
  75. INTEGER IPCHO
  76. INTEGER IPVEC
  77. INTEGER IPMODE
  78. INTEGER IPLMOT
  79. CHARACTER*(LOCOMP) MOTCLE
  80. INTEGER IPMONO
  81. INTEGER TYPRO
  82. REAL*8 MAXVAL
  83. INTEGER N
  84. COMPLEX*16 VPROPR,FPROPR
  85.  
  86. REAL*8 XMX
  87.  
  88. VPROPR=CMPLX(0.D0,0.D0)
  89. FPROPR=CMPLX(0.D0,0.D0)
  90.  
  91. MRITRA=IPRTRA
  92. SEGACT MRITRA
  93.  
  94. IPRIGI=RIGI(1)
  95.  
  96. MRIGID=IPRIGI
  97. SEGACT MRIGID
  98. IPCHO=ICHOLE
  99. SEGDES MRIGID
  100.  
  101. MAUP=IPMAUP
  102. SEGACT MAUP
  103. *Dimension du probleme
  104. N=v(/1)
  105.  
  106. *Initialisation de la taille du mlchpo et du listreeel
  107. JG=nev
  108. SEGINI MLREEL
  109. N1=nev
  110. SEGINI MLCHPO
  111.  
  112.  
  113. *Boucle sur le nombre de modes propres calcules
  114. DO i=1,nev
  115.  
  116. * On recupere la valeur propre (reelle),
  117. * on la transforme en "frequence" et on la stocke
  118. VPROPR=CMPLX(dr(i),REAL(0.D0))
  119. IF (IIMPI .GT. 2) WRITE(IOIMP,*) 'Valeur propre',VPROPR
  120.  
  121. CALL ARPSHI (FPROPR,VPROPR,QUAD,3)
  122. PROG(i)=REAL(FPROPR)
  123.  
  124. INC=N
  125. SEGINI MVECTD
  126. *Recuperation du vecteur propre reel
  127. DO j=1,N
  128. VECTBB(j)=v(j,i)
  129. ENDDO
  130.  
  131. IPVEC=MVECTD
  132. SEGDES MVECTD
  133. *Transformation en chpoint
  134. CALL VCH1 (IPCHO,IPVEC,IPMODE,IPRIGI)
  135. SEGSUP MVECTD
  136.  
  137.  
  138. *Calcul de la norme et du residu
  139. TYPRO=iparam(7)
  140. CALL ARPVER (IPRTRA,TYPRO,i,.FALSE.,.TRUE.,
  141. & EPSI,INVER,IPMODE,0,VPROPR)
  142.  
  143.  
  144. *La normalisation est impossible si le chpoint est nul
  145.  
  146. CALL MOTS1 (IPLMOT,MOTCLE)
  147. CALL MAXIM1 (IPMODE,IPLMOT,MOTCLE,0,MAXVAL)
  148.  
  149. IF (MAXVAL .LE. XPETIT) THEN
  150. IPMONO=IPMODE
  151. ELSE
  152. CALL NORMA1 (IPMODE,IPLMOT,MOTCLE,IPMONO)
  153. ENDIF
  154.  
  155. ICHPOI(i)=IPMONO
  156.  
  157. ENDDO
  158.  
  159. IPLVAR=MLREEL
  160. SEGDES MLREEL
  161. IPLVER=MLCHPO
  162. SEGDES MLCHPO
  163. c SEGDES MAUP
  164. SEGDES MRITRA
  165.  
  166. END
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  

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