C ASNS3 SOURCE CHAT 05/01/12 21:26:01 5004 SUBROUTINE ASNS3(MDNO,MIMI,MINCP,idno1,midu,iipo1) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCOPTIO -INC SMLMOTS -INC SMLREEL -INC SMMATRI * write(6,fmt='('' entree dans assem3 '')') * write(6,fmt='('' norinc norval'',2i6)')norinc,norval MLMOTS=NORINC SEGACT MLMOTS * write(6,fmt='('' fini pour norinc'')') *inutile LIN=MOTS(/2) MLREEL=NORVAL SEGACT MLREEL * write(6,fmt='('' fini pour norval'')') MIMIK=MIMI SEGACT MIMIK MINCPO=MINCP SEGACT MINCPO MDNOR=MDNO SEGACT MDNOR*MOD mlmot1 = norind segact mlmot1 mlree1 = norvad segact mlree1 midua = midu segact midua mipo1 = iipo1 segact mipo1 mdno1 = idno1 segact mdno1*mod C ... On commence par les colonnes ... ID1=INCPO(/1) ID2=INCPO(/2) IDN=PROG(/1) C ... Boucle sur les noeuds ... DO 1 I=1,ID2 C ... Boucle sur les DDL primaux ... DO 2 J=1,ID1 C ... IA = N° de colonne correspondant ... IA=INCPO(J,I) IF(IA.EQ.0) GO TO 2 C ... Si IA est non nul, on va chercher le DDL N° J dans la C liste des DDL à normaliser ... DO 3 K=1,IDN IF(IMIK(J).NE.MOTS(K)) GO TO 3 C ... S'il y est, on multiplie le DNOR correspondant à C la colonne N° IA, par le coefficient correspondant ... DNOR(IA)=DNOR(IA) * PROG(K) goto 2 3 CONTINUE 2 CONTINUE 1 CONTINUE * write(6,fmt='('' dnor '',6e12.5)') ( dnor(ia),ia=1,dnor(/1)) SEGDES MLMOTS,MLREEL C ... Puis, on passe aux lignes ... ID1=MIPO1.INCPO(/1) ID2=MIPO1.INCPO(/2) IDN=MLREE1.PROG(/1) C ... Boucle sur les noeuds ... DO 10 I=1,ID2 C ... Boucle sur les DDL duaux ... DO 20 J=1,ID1 C ... IA = N° de ligne correspondant ... IA=MIPO1.INCPO(J,I) IF(IA.EQ.0) GO TO 20 C ... Si IA est non nul, on va chercher le DDL N° J dans la C liste des DDL à normaliser ... DO 30 K=1,IDN IF(IDUA(J).NE.MLMOT1.MOTS(K)) GO TO 30 C ... S'il y est, on multiplie le DNOR correspondant à C la ligne N° IA, par le coefficient correspondant ... MDNO1.DNOR(IA)=MDNO1.DNOR(IA) * MLREE1.PROG(K) goto 20 30 CONTINUE 20 CONTINUE 10 CONTINUE * write(6,fmt='('' mdno1.dnor '',6e12.5)') * & ( mdno1.dnor(ia),ia=1,mdno1.dnor(/1)) SEGDES MLMOT1,MLREE1 RETURN END