asns3
C ASNS3 SOURCE PV 20/09/26 21:15:09 10724 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -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) 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 C ... S'il y est, on multiplie le DNOR correspondant à C la colonne N° IA, par le coefficient correspondant ... 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) 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 C ... S'il y est, on multiplie le DNOR correspondant à C la ligne N° IA, par le coefficient correspondant ... 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
© Cast3M 2003 - Tous droits réservés.
Mentions légales