dyndev
C DYNDEV SOURCE BP208322 18/01/10 21:15:41 9684 SUBROUTINE DYNDEV IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Operateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * Appel aux sous-programmes de l'option 'DE_VOGELAERE' * * * * Remarque : les segments de travail sont laisses actifs durant * * l'execution de l'algorithme. * * * * Auteur, date de creation: * * * * Denis ROBERT-MOUGIN, LE 25 mai 1989. * * * *--------------------------------------------------------------------* -INC PPARAM -INC CCOPTIO * LOGICAL REPRIS,RIGIDE,LMODYN * ICHAIN = 0 * * Lecture et coherence des operandes: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVLIR' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVLIR' ENDIF & ITSORT,ITREDU,KPREF,KCPR,ITCARA,LMODYN,ITDYN) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVLIR' ENDIF ** LMODYN = .TRUE. : donnees table PASAPAS * * Allocation de l'espace de travail: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVALO' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVALO' ENDIF & ITSORT,ITREDU,KPREF,KTQ,KTKAM,KTPHI,KTLIAA,KTLIAB, & KTFEX,KTPAS,KTRES,KTNUM,IPMAIL,REPRIS,ICHAIN, & KOCLFA,KOCLB1,ITCARA,LMODYN) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVALO' ENDIF * * Remplissage des tableaux des liaisons: * IF (ITLIA.NE.0) THEN IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVLIA' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVLIA' ENDIF IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVLIA' ENDIF ENDIF * * Transposition du contenu d'objets CASTEM2000 dans des tableaux: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVTRA' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVTRA' ENDIF & KTLIAB,RIGIDE,ITCARA,LMODYN) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVTRA' ENDIF * * Remplissage du tableau des chargements exterieurs: * IF (ITCHAR.NE.0) THEN IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVFX0' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVFX0' ENDIF &LMODYN,ITBAS) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVFX0' ENDIF IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVSPM' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVPSM' ENDIF IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVPSM' ENDIF ENDIF * * Lecture des chargements en Base B, pour les corps rigides * IF (RIGIDE) THEN IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVRIG' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV :avant l''appel au sous-programme & DEVRIG' ENDIF IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV :apres l''appel au sous-programme & DEVRIG' ENDIF ENDIF * * Initialisation de l'algorithme, ou reprise de calcul: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVINI' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVINI' ENDIF & KTPHI,KCPR,KOCLFA,KOCLB1,REPRIS,RIGIDE,lmodyn) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVINI' ENDIF * * Mise en oeuvre de l'algorithme: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVALG' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVALG' ENDIF & KTNUM,KPREF,NINS,KOCLFA,KOCLB1,REPRIS,RIGIDE) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVALG' ENDIF * * Creation de la table resultat et nettoyage memoire: * IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : appel au sous-programme DEVSOR' ENDIF IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : avant l''appel au sous-programme DEVSOR' ENDIF & KTRES,KTNUM,NINS,IPMAIL,REPRIS,ICHAIN, & KOCLFA,KOCLB1,LMODYN,ITDYN) IF (IERR.NE.0) RETURN IF (IIMPI.EQ.444) THEN CALL GIBTEM(XKT) INTERR(1)=INT(XKT) WRITE(IOIMP,*)'DYNDEV : apres l''appel au sous-programme DEVSOR' ENDIF IF (IIMPI.EQ.333) THEN WRITE(IOIMP,*)'DYNDEV : fin presumee normale de ce calcul' ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales