Télécharger relr10.eso

Retour à la liste

Numérotation des lignes :

  1. C RELR10 SOURCE PV 16/11/17 22:01:18 9180
  2. SUBROUTINE RELR10(MLIN,MATASS,IMPR,IRET)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : RELR10
  7. C DESCRIPTION : Assemblage d'un rigidité
  8. C
  9. C
  10. C
  11. C LANGAGE : ESOPE
  12. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  13. C mél : gounand@semt2.smts.cea.fr
  14. C***********************************************************************
  15. C APPELES :
  16. C APPELES (E/S) :
  17. C APPELES (BLAS) :
  18. C APPELES (CALCUL) :
  19. C APPELE PAR :
  20. C***********************************************************************
  21. C SYNTAXE GIBIANE :
  22. C ENTREES :
  23. C ENTREES/SORTIES :
  24. C SORTIES :
  25. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  26. C***********************************************************************
  27. C VERSION : v1, 26/06/2003, version initiale
  28. C HISTORIQUE : v1, 26/06/2003, création
  29. C HISTORIQUE :
  30. C HISTORIQUE :
  31. C***********************************************************************
  32. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  33. C en cas de modification de ce sous-programme afin de faciliter
  34. C la maintenance !
  35. C***********************************************************************
  36. -INC CCOPTIO
  37. -INC SMRIGID
  38. POINTEUR MLIN.MRIGID
  39. * Includes persos
  40. CBEGININCLUDE SMMINC
  41. SEGMENT MINC
  42. INTEGER NPOS(NPT+1)
  43. INTEGER MPOS(NPT,NBI+1)
  44. ENDSEGMENT
  45. SEGMENT IMINC
  46. INTEGER LNUPO (NDDL)
  47. INTEGER LNUINC(NDDL)
  48. ENDSEGMENT
  49. CENDINCLUDE SMMINC
  50. POINTEUR MINCP.MINC
  51. POINTEUR MINCD.MINC
  52. CBEGININCLUDE SMPMORS
  53. SEGMENT PMORS
  54. INTEGER IA (NTT+1)
  55. INTEGER JA (NJA)
  56. ENDSEGMENT
  57. CENDINCLUDE SMPMORS
  58. POINTEUR PROFM.PMORS
  59. CBEGININCLUDE SMIZA
  60. SEGMENT IZA
  61. REAL*8 A(NBVA)
  62. ENDSEGMENT
  63. CENDINCLUDE SMIZA
  64. POINTEUR VALM.IZA
  65. CBEGININCLUDE SMMATASS
  66. SEGMENT MATASS
  67. POINTEUR KJPOPA.MLENTI
  68. POINTEUR LINCPA.MLMOTS
  69. POINTEUR MINCPA.MINC
  70. POINTEUR KJPODA.MLENTI
  71. POINTEUR LINCDA.MLMOTS
  72. POINTEUR MINCDA.MINC
  73. POINTEUR PROFMA.PMORS
  74. POINTEUR VALMA.IZA
  75. ENDSEGMENT
  76. CENDINCLUDE SMMATASS
  77. *
  78. -INC SMLENTI
  79. POINTEUR KJSPGP.MLENTI
  80. POINTEUR KJSPGD.MLENTI
  81. -INC SMLMOTS
  82. POINTEUR LINCP.MLMOTS
  83. POINTEUR LINCD.MLMOTS
  84. *
  85. INTEGER IMPR,IRET
  86. *
  87. * Executable statements
  88. *
  89. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans relr10.eso'
  90. *
  91. * Construction de :
  92. * - l'ensemble des points sur lesquels il y a au moins une inconnue
  93. * primale : KJSPGP
  94. * - l'ensemble des points sur lesquels il y a au moins une inconnue
  95. * duale : KJSPGD
  96. *
  97. CALL RELR11(MLIN,KJSPGP,KJSPGD,IMPR,IRET)
  98. IF (IRET.NE.0) GOTO 9999
  99. * SEGPRT,KJSPGP
  100. * SEGPRT,KJSPGD
  101. *
  102. * Construction de :
  103. * - l'ensemble des noms d'inconnues primales : LINCP
  104. * - l'ensemble des noms d'inconnues duales : LINCD
  105. *
  106. CALL RELR12(MLIN,LINCP,LINCD,IMPR,IRET)
  107. IF (IRET.NE.0) GOTO 9999
  108. * SEGPRT,LINCP
  109. * SEGPRT,LINCD
  110. *
  111. * Construction des tableaux de correspondance ddl <-> (point, nom de
  112. * variable) :
  113. * - pour les inconnues primales : MINCP
  114. * - pour les inconnues duales : MINCD
  115. *
  116. CALL RELR13(MLIN,KJSPGP,KJSPGD,LINCP,LINCD,
  117. $ MINCP,MINCD,
  118. $ IMPR,IRET)
  119. IF (IRET.NE.0) GOTO 9999
  120. * SEGPRT,MINCP
  121. * SEGPRT,MINCD
  122. *
  123. * Construction du profil Morse de la matrice assemblée
  124. * Celui-ci est ordonné (les numeros de colonnes
  125. * dans IA sont en ordre croissant)
  126. * Remplissage des valeurs de la matrice Morse
  127. * On pourrait reprendre ce qu'il y a dans prase3
  128. * pour accélérer la formation du profil.
  129. CALL RELR14(MLIN,KJSPGP,KJSPGD,LINCP,LINCD,
  130. $ MINCP,MINCD,
  131. $ PROFM,VALM,
  132. $ IMPR,IRET)
  133. IF (IRET.NE.0) GOTO 9999
  134. * SEGPRT,PROFM
  135. * SEGPRT,VALM
  136. *
  137. * Remplissage de MATASS
  138. *
  139. SEGINI MATASS
  140. MATASS.KJPOPA=KJSPGP
  141. MATASS.LINCPA=LINCP
  142. MATASS.MINCPA=MINCP
  143. MATASS.KJPODA=KJSPGD
  144. MATASS.LINCDA=LINCD
  145. MATASS.MINCDA=MINCD
  146. MATASS.PROFMA=PROFM
  147. MATASS.VALMA =VALM
  148. SEGDES MATASS
  149. *
  150. * Normal termination
  151. *
  152. IRET=0
  153. RETURN
  154. *
  155. * Format handling
  156. *
  157. *
  158. * Error handling
  159. *
  160. 9999 CONTINUE
  161. IRET=1
  162. WRITE(IOIMP,*) 'An error was detected in subroutine relr10'
  163. RETURN
  164. *
  165. * End of subroutine RELR10
  166. *
  167. END
  168.  
  169.  
  170.  
  171.  
  172.  

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