Télécharger proche.eso

Retour à la liste

Numérotation des lignes :

  1. C PROCHE SOURCE CHAT 05/01/13 02:29:44 5004
  2. C SUBROUTINE PROCHE(IPMASS,IPSOLU,IPFREQ,IPRIG1,IPRIG2,LIMAGE,IPNMOD,MBASC
  3. C ,INSYM)
  4. ************************************************************************
  5. *
  6. * P R O C H E
  7. * -----------
  8. *
  9. * SOUS-PROGRAMME ASSOCIE A L'OPTION "PROCHE" DE L'OPERATEUR
  10. * "VIBRATION".
  11. *
  12. * FONCTION:
  13. * ---------
  14. *
  15. * DETERMINER UNE SERIE DE MODES PROPRES DONT LES FREQUENCES SONT
  16. * LES PLUS PROCHES D'UNE SUITE DE VALEURS DONNEES.
  17. *
  18. * PHRASE D'APPEL:
  19. * ----------------------------
  20. *
  21. * MODES = VIBRATION PROCHE SUIT_VAL [ SUIT_MULT ] MAT_K MAT_M ;
  22. *
  23. * CALL PROCHE(IPMASS,IPSOLU,IPFREQ,IPRIG1,IPRIG2,LIMAGE,IPNMOD )
  24. *
  25. * OPERANDES ET RESULTATS:
  26. * -----------------------
  27. *
  28. * IPFREQ 'LISTREEL' (E) SUITE DE VALEURS REELLES DES QUELLES LES
  29. * FREQUENCES PROPRES DEVRONT ETRE PROCHES.
  30. * IPNMOD 'LISTENTI' (E) SUITE DES MULTIPLICITES DES FREQUENCE
  31. * PROPRES ( OPTIONEL ).
  32. * IPRIG? 'RIGIDITE' (E) MATRICE DE RIGIDITE.
  33. * IPRIG? 'RIGIDITE' (E) MATRICE MASSE.
  34. * IPMASS 'RIGIDITE' (S) MATRICE MASSE. (UTILISEE DANS VIBRAT).
  35. * IPSOLU 'SOLUTION' (S) ENSEMBLE DES MODES PROPRES CALCULES.
  36. * MBASC 'TABLE SOLUTION' (S) ENSEMBLE DE MODES PROPRES COMPLEXES
  37. *
  38. *
  39. * AUTEUR, DATE DE CREATION:
  40. * -------------------------
  41. *
  42. * PASCAL MANIGOT 1ER OCTOBRE 1984 (ESOPE)
  43. *
  44. ************************************************************************
  45.  
  46. SUBROUTINE PROCHE( IPMASS, IPSOLU, IPFREQ, IPRIG1, IPRIG2,
  47. $ LIMAGE, IPNMOD, MBASC ,INSYM)
  48.  
  49. IMPLICIT INTEGER(I-N)
  50. IMPLICIT REAL*8 (A-H,O-Z)
  51. -INC CCOPTIO
  52. -INC SMLREEL
  53. -INC SMLENTI
  54. -INC SMTABLE
  55. ******
  56. * -- ARGUMENTS --
  57. ***
  58. POINTEUR IPNMOD.MLENTI, IPFREQ.MLREEL
  59. INTEGER IPMASS, IPSOLU, IPRIG1, IPRIG2
  60. LOGICAL LIMAGE
  61.  
  62. ******
  63. * -- VARIABLES LOCALES --
  64. ***
  65. INTEGER IB100, NBFREQ
  66.  
  67. ******
  68. * -- SI UNE 'LISTENTI' A ETE FOURNIE, IPNMOD EST DIFFERENT DE
  69. * ZERO. SINON, IPNMOD EST NUL. DANS CE CAS TOUTES LES VALEURS
  70. * PROPRES SONT SUPPOSEES SIMPLES.ON CREE DONC L'IPNMOD ADEQUAT: --
  71. ***
  72. IF ( IPNMOD .EQ. 0 ) THEN
  73. SEGACT ,IPFREQ
  74. NBFREQ = IPFREQ.PROG(/1)
  75. SEGDES ,IPFREQ
  76. JG = NBFREQ
  77. SEGINI ,IPNMOD
  78. DO 100 IB100 = 1, NBFREQ
  79. IPNMOD.LECT( IB100 ) = 1
  80. 100 CONTINUE
  81. SEGDES ,IPNMOD
  82. ENDIF
  83.  
  84. ******
  85. * -- VERIFICATION DES SOUS-TYPES DES 'RIGIDITE' --
  86. ***
  87. CALL WHICH1 (IPRIG1,IPRIG2, IPRIGI,IPMASS)
  88. IF (IERR .NE. 0) RETURN
  89.  
  90. ******
  91. * -- DETERMINATION DES MODES PROPRES --
  92. ***
  93. CALL PROCH1 ( IPFREQ, IPNMOD, IPRIGI, IPMASS, IPSOLU,
  94. & LIMAGE, MBASC , INSYM)
  95. IF (IERR .NE. 0) RETURN
  96.  
  97.  
  98. RETURN
  99. END
  100.  
  101.  
  102.  
  103.  

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