ldmt1
C LDMT1 SOURCE GOUNAND 24/11/12 21:15:05 12076 C======================================================================= C ASSEMBLE LES PETITES MATRICES de RIGIDITE ET LES MET SOUS LA FORME C t C L.D.M C IL LE POINTEUR DE LA MATRICE RESULTANTE DANS ICHOLE (segment MRIGID) C C Cette subroutine est équivalente à TRIANG dans le cas de C l'inversion des matrices symétrique C C Appelée par : LDMT C C Auteur : Michel BULIK C C Date : Printemps '95 C C Langage : ESOPE + FORTRAN77 C C======================================================================= C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC SMRIGID -INC SMELEME -INC SMMATRI -INC PPARAM -INC CCOPTIO C ... Ces variables ont pour but, de diriger le comportement de LDMT2 ... C TRSUP - TRiangle SUPérieur C MENAGE - évident C LDIAG - initialisation et remplissage de MDIAG et MDNOR demandés LOGICAL TRSUP,MENAGE,LDIAG IF(IIMPI.EQ.1)THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) ENDIF IF(IIMPI.EQ.1)WRITE(IOIMP,10) 10 FORMAT(' L''IMPRESSION PRECDENTE EST AVANT ASSEM1 ') C C ... MMATRI est initialisé dans ASSEM1 et renvoyé en tant que résultat C dans la variable MMATRX, il est désactivé à la sortie ... & IITOPX,ITOPOD,IITOPD,IPODD) IF(IERR.NE.0) RETURN IF(IIMPI.EQ.1) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) ENDIF IF(IIMPI.EQ.1)WRITE(IOIMP,11) 11 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT LDMT2') C ... On initialise IJMAX ici et non dans LDMT2, car celui-ci est C appelé deux fois ... MMATRI=MMATRX SEGACT,MMATRI*MOD IJMAX=0 SEGDES,MMATRI TRSUP =.FALSE. LDIAG =.TRUE. njtot=0 C write(6,*) ' premier appel' IF(IERR.NE.0) RETURN TRSUP =.TRUE. LDIAG =.FALSE. C write(6,*) ' deuxieme appel' IF(IERR.NE.0) RETURN * IF(IIMPI.EQ.1)THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) ENDIF IF(IIMPI.EQ.1) WRITE(IOIMP,12) 12 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT LDMT3') IF(IERR.NE.0) GO TO 5000 IF(IERR.NE.0) RETURN IF(IIMPI.EQ.1)THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) ENDIF IF(IERR.NE.0) GO TO 5000 IF(IIMPI.EQ.1) WRITE(IOIMP,13) 13 FORMAT(' L''IMPRESSION PRECEDENTE EST APRES LDMT3') MRIGID=KRIGI SEGACT MRIGID*MOD ICHOLE=MMATRX SEGDES MRIGID 5000 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales