Télécharger extra7.eso

Retour à la liste

Numérotation des lignes :

extra7
  1. C EXTRA7 SOURCE CB215821 20/11/04 21:17:09 10766
  2. SUBROUTINE EXTRA7 (IPBASE,MOT, IPTR)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * E X T R A 7
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * SOUS-PROGRAMME POUR EXTRAIRE D'UNE BASE MODALE
  14. * UNE 'RIGIDITE',
  15. * OU L'OBJET SOLUTION DE SOUS-TYPE 'MODE ',
  16. * OU L'OBJET SOLUTION DE SOUS_TYPE 'SOLUSTAT',
  17. * OU L'OBJET SOLUTION DE SOUS_TYPE 'PSEUMODE'.
  18. *
  19. * MODULES UTILISES:
  20. * -----------------
  21. *
  22.  
  23. -INC PPARAM
  24. -INC CCOPTIO
  25. -INC SMBASEM
  26. -INC SMSTRUC
  27. *
  28. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  29. * -----------
  30. *
  31. * IPBASE (E) POINTEUR SUR LE SEGMENT MBASEM
  32. * MOT (E) MOT-CLE : 'RIGI', OU 'MASS',
  33. * OU 'MODE', OU 'STAT', 'PSMO'.
  34. * IPTR (S) POINTEUR SUR UN OBJET RIGIDITE SI 'RIGI' OU 'MASS'
  35. * POINTEUR SUR UN OBJET SOLUTION
  36. * SI 'MODE' OU 'STAT' OU 'PSMO'.
  37. *
  38. CHARACTER*(*) MOT
  39. *
  40. * MODE DE FONCTIONNEMENT :
  41. * ------------------------
  42. *
  43. * ON SUPPOSE QUE LE PROGRAMME APPELANT A VERIFIE QUE LE
  44. * MOT-CLE SOIT CORRECT.
  45. *
  46. * AUTEUR, DATE DE CREATION:
  47. * -------------------------
  48. *
  49. * LIONEL VIVAN 4 MARS 1988
  50. *
  51. * LANGAGE:
  52. * --------
  53. *
  54. * ESOPE + FORTRAN77
  55. *
  56. ************************************************************************
  57. *
  58. IF (MOT.EQ.'MODE' .OR. MOT.EQ.'STAT' .OR. MOT.EQ.'PSMO') THEN
  59. MBASEM=IPBASE
  60. SEGACT,MBASEM
  61. NBAS=LISBAS(/1)
  62. DO 10 I=1,NBAS
  63. MSOBAS=LISBAS(I)
  64. SEGACT,MSOBAS
  65. IF (I.EQ.1) THEN
  66. IF (MOT.EQ.'MODE') THEN
  67. IPTM1=IBSTRM(2)
  68. ELSE IF (MOT.EQ.'STAT') THEN
  69. IPTM1=IBSTRM(3)
  70. ELSE
  71. IPTM1=IBSTRM(5)
  72. ENDIF
  73. ELSE
  74. IF (MOT.EQ.'MODE') THEN
  75. IPTM2=IBSTRM(2)
  76. ELSE IF (MOT.EQ.'STAT') THEN
  77. IPTM2=IBSTRM(3)
  78. ELSE
  79. IPTM2=IBSTRM(5)
  80. ENDIF
  81. CALL FUSOLU(IPTM1,IPTM2,IPTM3)
  82. IF (IERR.NE.0) RETURN
  83. CALL DTSOLU(IPTM1)
  84. IF (IERR.NE.0) RETURN
  85. IPTM1=IPTM3
  86. ENDIF
  87. SEGDES,MSOBAS
  88. 10 CONTINUE
  89. SEGDES,MBASEM
  90. IPTR=IPTM1
  91. *
  92. ELSE IF (MOT.EQ.'MASS' .OR. MOT.EQ.'RIGI') THEN
  93. MBASEM=IPBASE
  94. SEGACT,MBASEM
  95. NBAS=LISBAS(/1)
  96. DO 20 I=1,NBAS
  97. MSOBAS=LISBAS(I)
  98. SEGACT,MSOBAS
  99. MSOSTU=IBSTRM(1)
  100. SEGDES,MSOBAS
  101. SEGACT,MSOSTU
  102. IF (I.EQ.1) THEN
  103. IF (MOT.EQ.'MASS') THEN
  104. IPTR1=ISMASS
  105. ELSE
  106. IPTR1=ISRAID
  107. ENDIF
  108. ELSE
  109. IF (MOT.EQ.'MASS') THEN
  110. IPTR2=ISMASS
  111. ELSE
  112. IPTR2=ISRAID
  113. ENDIF
  114. CALL FUSRIG(IPTR1,IPTR2,IPTR3)
  115. IF (IERR.NE.0) RETURN
  116. CALL DTRIGI(IPTR1)
  117. IF (IERR.NE.0) RETURN
  118. IPTR1=IPTR3
  119. ENDIF
  120. SEGDES,MSOSTU
  121. 20 CONTINUE
  122. SEGDES,MBASEM
  123. IPTR=IPTR1
  124. ENDIF
  125. *
  126. END
  127.  
  128.  
  129.  

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