Télécharger relr10.eso

Retour à la liste

Numérotation des lignes :

relr10
  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.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC SMRIGID
  40. POINTEUR MLIN.MRIGID
  41. * Includes persos
  42. CBEGININCLUDE SMMINC
  43. SEGMENT MINC
  44. INTEGER NPOS(NPT+1)
  45. INTEGER MPOS(NPT,NBI+1)
  46. ENDSEGMENT
  47. SEGMENT IMINC
  48. INTEGER LNUPO (NDDL)
  49. INTEGER LNUINC(NDDL)
  50. ENDSEGMENT
  51. CENDINCLUDE SMMINC
  52. POINTEUR MINCP.MINC
  53. POINTEUR MINCD.MINC
  54. CBEGININCLUDE SMPMORS
  55. SEGMENT PMORS
  56. INTEGER IA (NTT+1)
  57. INTEGER JA (NJA)
  58. ENDSEGMENT
  59. CENDINCLUDE SMPMORS
  60. POINTEUR PROFM.PMORS
  61. CBEGININCLUDE SMIZA
  62. SEGMENT IZA
  63. REAL*8 A(NBVA)
  64. ENDSEGMENT
  65. CENDINCLUDE SMIZA
  66. POINTEUR VALM.IZA
  67. CBEGININCLUDE SMMATASS
  68. SEGMENT MATASS
  69. POINTEUR KJPOPA.MLENTI
  70. POINTEUR LINCPA.MLMOTS
  71. POINTEUR MINCPA.MINC
  72. POINTEUR KJPODA.MLENTI
  73. POINTEUR LINCDA.MLMOTS
  74. POINTEUR MINCDA.MINC
  75. POINTEUR PROFMA.PMORS
  76. POINTEUR VALMA.IZA
  77. ENDSEGMENT
  78. CENDINCLUDE SMMATASS
  79. *
  80. -INC SMLENTI
  81. POINTEUR KJSPGP.MLENTI
  82. POINTEUR KJSPGD.MLENTI
  83. -INC SMLMOTS
  84. POINTEUR LINCP.MLMOTS
  85. POINTEUR LINCD.MLMOTS
  86. *
  87. INTEGER IMPR,IRET
  88. *
  89. * Executable statements
  90. *
  91. IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans relr10.eso'
  92. *
  93. * Construction de :
  94. * - l'ensemble des points sur lesquels il y a au moins une inconnue
  95. * primale : KJSPGP
  96. * - l'ensemble des points sur lesquels il y a au moins une inconnue
  97. * duale : KJSPGD
  98. *
  99. CALL RELR11(MLIN,KJSPGP,KJSPGD,IMPR,IRET)
  100. IF (IRET.NE.0) GOTO 9999
  101. * SEGPRT,KJSPGP
  102. * SEGPRT,KJSPGD
  103. *
  104. * Construction de :
  105. * - l'ensemble des noms d'inconnues primales : LINCP
  106. * - l'ensemble des noms d'inconnues duales : LINCD
  107. *
  108. CALL RELR12(MLIN,LINCP,LINCD,IMPR,IRET)
  109. IF (IRET.NE.0) GOTO 9999
  110. * SEGPRT,LINCP
  111. * SEGPRT,LINCD
  112. *
  113. * Construction des tableaux de correspondance ddl <-> (point, nom de
  114. * variable) :
  115. * - pour les inconnues primales : MINCP
  116. * - pour les inconnues duales : MINCD
  117. *
  118. CALL RELR13(MLIN,KJSPGP,KJSPGD,LINCP,LINCD,
  119. $ MINCP,MINCD,
  120. $ IMPR,IRET)
  121. IF (IRET.NE.0) GOTO 9999
  122. * SEGPRT,MINCP
  123. * SEGPRT,MINCD
  124. *
  125. * Construction du profil Morse de la matrice assemblée
  126. * Celui-ci est ordonné (les numeros de colonnes
  127. * dans IA sont en ordre croissant)
  128. * Remplissage des valeurs de la matrice Morse
  129. * On pourrait reprendre ce qu'il y a dans prase3
  130. * pour accélérer la formation du profil.
  131. CALL RELR14(MLIN,KJSPGP,KJSPGD,LINCP,LINCD,
  132. $ MINCP,MINCD,
  133. $ PROFM,VALM,
  134. $ IMPR,IRET)
  135. IF (IRET.NE.0) GOTO 9999
  136. * SEGPRT,PROFM
  137. * SEGPRT,VALM
  138. *
  139. * Remplissage de MATASS
  140. *
  141. SEGINI MATASS
  142. MATASS.KJPOPA=KJSPGP
  143. MATASS.LINCPA=LINCP
  144. MATASS.MINCPA=MINCP
  145. MATASS.KJPODA=KJSPGD
  146. MATASS.LINCDA=LINCD
  147. MATASS.MINCDA=MINCD
  148. MATASS.PROFMA=PROFM
  149. MATASS.VALMA =VALM
  150. SEGDES MATASS
  151. *
  152. * Normal termination
  153. *
  154. IRET=0
  155. RETURN
  156. *
  157. * Format handling
  158. *
  159. *
  160. * Error handling
  161. *
  162. 9999 CONTINUE
  163. IRET=1
  164. WRITE(IOIMP,*) 'An error was detected in subroutine relr10'
  165. RETURN
  166. *
  167. * End of subroutine RELR10
  168. *
  169. END
  170.  
  171.  
  172.  
  173.  
  174.  

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