Télécharger asns3.eso

Retour à la liste

Numérotation des lignes :

  1. C ASNS3 SOURCE PV 16/11/17 21:58:09 9180
  2. SUBROUTINE ASNS3(MDNO,MIMI,MINCP,idno1,midu,iipo1)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5.  
  6. -INC CCOPTIO
  7. -INC SMLMOTS
  8. -INC SMLREEL
  9. -INC SMMATRI
  10.  
  11. * write(6,fmt='('' entree dans assem3 '')')
  12. * write(6,fmt='('' norinc norval'',2i6)')norinc,norval
  13.  
  14. MLMOTS=NORINC
  15. SEGACT MLMOTS
  16. * write(6,fmt='('' fini pour norinc'')')
  17.  
  18. *inutile LIN=MOTS(/2)
  19. MLREEL=NORVAL
  20. SEGACT MLREEL
  21. * write(6,fmt='('' fini pour norval'')')
  22.  
  23. MIMIK=MIMI
  24. SEGACT MIMIK
  25.  
  26. MINCPO=MINCP
  27. SEGACT MINCPO
  28.  
  29. MDNOR=MDNO
  30. SEGACT MDNOR*MOD
  31.  
  32. mlmot1 = norind
  33. segact mlmot1
  34.  
  35. mlree1 = norvad
  36. segact mlree1
  37.  
  38. midua = midu
  39. segact midua
  40.  
  41. mipo1 = iipo1
  42. segact mipo1
  43.  
  44. mdno1 = idno1
  45. segact mdno1*mod
  46.  
  47. C ... On commence par les colonnes ...
  48. ID1=INCPO(/1)
  49. ID2=INCPO(/2)
  50. IDN=PROG(/1)
  51. C ... Boucle sur les noeuds ...
  52. DO 1 I=1,ID2
  53. C ... Boucle sur les DDL primaux ...
  54. DO 2 J=1,ID1
  55. C ... IA = N° de colonne correspondant ...
  56. IA=INCPO(J,I)
  57. IF(IA.EQ.0) GO TO 2
  58. C ... Si IA est non nul, on va chercher le DDL N° J dans la
  59. C liste des DDL à normaliser ...
  60. DO 3 K=1,IDN
  61. IF(IMIK(J).NE.MOTS(K)) GO TO 3
  62. C ... S'il y est, on multiplie le DNOR correspondant à
  63. C la colonne N° IA, par le coefficient correspondant ...
  64. DNOR(IA)=DNOR(IA) * PROG(K)
  65. goto 2
  66. 3 CONTINUE
  67. 2 CONTINUE
  68. 1 CONTINUE
  69.  
  70. * write(6,fmt='('' dnor '',6e12.5)') ( dnor(ia),ia=1,dnor(/1))
  71.  
  72. SEGDES MLMOTS,MLREEL
  73.  
  74. C ... Puis, on passe aux lignes ...
  75. ID1=MIPO1.INCPO(/1)
  76. ID2=MIPO1.INCPO(/2)
  77. IDN=MLREE1.PROG(/1)
  78. C ... Boucle sur les noeuds ...
  79. DO 10 I=1,ID2
  80. C ... Boucle sur les DDL duaux ...
  81. DO 20 J=1,ID1
  82. C ... IA = N° de ligne correspondant ...
  83. IA=MIPO1.INCPO(J,I)
  84. IF(IA.EQ.0) GO TO 20
  85. C ... Si IA est non nul, on va chercher le DDL N° J dans la
  86. C liste des DDL à normaliser ...
  87. DO 30 K=1,IDN
  88. IF(IDUA(J).NE.MLMOT1.MOTS(K)) GO TO 30
  89. C ... S'il y est, on multiplie le DNOR correspondant à
  90. C la ligne N° IA, par le coefficient correspondant ...
  91. MDNO1.DNOR(IA)=MDNO1.DNOR(IA) * MLREE1.PROG(K)
  92. goto 20
  93. 30 CONTINUE
  94. 20 CONTINUE
  95. 10 CONTINUE
  96.  
  97. * write(6,fmt='('' mdno1.dnor '',6e12.5)')
  98. * & ( mdno1.dnor(ia),ia=1,mdno1.dnor(/1))
  99.  
  100. SEGDES MLMOT1,MLREE1
  101.  
  102. RETURN
  103. END
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  

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