Télécharger asns3.eso

Retour à la liste

Numérotation des lignes :

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

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