Download asns3.eso

Back to the list

   1 : C ASNS3     SOURCE    CHAT      05/01/12    21:26:01     5004           
   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer