1 : C DYNA14 SOURCE PV 09/09/11 21:18:02 6504 2 : SUBROUTINE DYNA14(ITREFR,KTLIAA) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : *--------------------------------------------------------------------* 6 : * * 7 : * Operateur DYNE : algorithme de Fu - de Vogelaere * 8 : * ________________________________________________ * 9 : * * 10 : * Remplissage du tableau contenant les parametres de liaison en * 11 : * cas de reprise (liaison POLYNOMIALE en base A) * 12 : * * 13 : * Parametres: * 14 : * * 15 : * ITREFR Table contenant les variables internes des liaisons * 16 : * sauvegardees dans la table de reprise * 17 : * KTLIAA Description des liaisons en base A * 18 : * * 19 : * Auteur, date de creation: * 20 : * * 21 : * Denis ROBERT-MOUGIN : le 14 mai 1992 * 22 : * * 23 : *--------------------------------------------------------------------* 24 : * 25 : -INC CCOPTIO 26 : -INC SMLENTI 27 : -INC SMTABLE 28 : -INC SMLREEL 29 : -INC SMCOORD 30 : * 31 : SEGMENT,ICPR(XCOOR(/1)/(IDIM+1)) 32 : SEGMENT,MTLIAA 33 : INTEGER IPALA(NLIAA,NIPALA),IPLIA(NLIAA,NPLAA),JPLIA(NPLA) 34 : REAL*8 XPALA(NLIAA,NXPALA) 35 : ENDSEGMENT 36 : * 37 : LOGICAL L0,L1 38 : CHARACTER*(8) TYPIND 39 : * 40 : MTLIAA = KTLIAA 41 : NLIAA = XPALA(/1) 42 : IF (IIMPI.EQ.333) THEN 43 : WRITE(IOIMP,*)'Entree dans DYNA14' 44 : WRITE(IOIMP,*)'NLIAA = ',NLIAA 45 : ENDIF 46 : * 47 : * Boucle sur les liaisons en base A sauvegardees 48 : * 49 : IPOLY = 0 50 : DO 10 I = 1,NLIAA 51 : ITYP = IPALA(I,1) 52 : IF (IIMPI.EQ.333) THEN 53 : WRITE(IOIMP,*)'ITYP = ',ITYP,' I = ',I 54 : ENDIF 55 : IF (ITYP.EQ.6) THEN 56 : IPOLY = IPOLY + 1 56 : CALL ACCTAB(ITREFR,'ENTIER',IPOLY,X0,' ',L0,IP0, 57 : & 'TABLE',I1,X1,' ',L1,ITREFI) 58 : IF (IERR.NE.0) RETURN 58 : CALL ACCTAB(ITREFI,'MOT',I0,X0,'TYPE',L0,IP0, 59 : & 'ENTIER',ITYPR,X1,' ',L1,ITR) 60 : IF (IERR.NE.0) RETURN 61 : IF (ITYP.NE.ITYPR) THEN 61 : call erreur(21) 62 : RETURN 63 : ENDIF 64 : * 65 : * Liaison de type force POLYNOMIALE 66 : * 67 : IF (ITYPR.EQ.6) THEN 67 : CALL ACCTAB(ITREFI,'MOT',I0,X0, 68 : & 'POINTS_LIAISON_POLYNOMIALE', 69 : & L0,IP0,'LISTENTI',I1,X1,' ',L1,IPLEN1) 70 : IF (IERR.NE.0) RETURN 70 : CALL ACCTAB(ITREFI,'MOT',I0,X0, 71 : & 'VARIABLES_LIAISON_POLYNOMIALE', 72 : & L0,IP0,'LISTREEL',I1,X1,' ',L1,IPLRE1) 73 : IF (IERR.NE.0) RETURN 74 : * 75 : IF (IIMPI.EQ.333) THEN 76 : WRITE(IOIMP,*)'Lecture des points / liaison ',I 77 : ENDIF 78 : MLENTI = IPLEN1 79 : SEGACT MLENTI 80 : NP = LECT(/1) 81 : NPJ = NP / 2 82 : DO 20 J=1,NPJ 83 : K = J * 2 84 : IKX = LECT(K) 85 : IPLIA(I,J) = IKX 86 : K = (J * 2) - 1 87 : JPLIA(IKX) = LECT(K) 88 : 20 CONTINUE 89 : *****PV SEGSUP MLENTI 90 : * 91 : IF (IIMPI.EQ.333) THEN 92 : WRITE(IOIMP,*)'Lecture des deplacements / liaison ',I 93 : ENDIF 94 : MLREEL = IPLRE1 95 : SEGACT MLREEL 96 : NV = PROG(/1) 97 : DO 30 J=1,NV 98 : XPALA(I,J) = PROG(J) 99 : 30 CONTINUE 100 : *****PV SEGSUP MLREEL 101 : ENDIF 102 : ENDIF 103 : 10 CONTINUE 104 : * end do 105 : * 106 : END 107 : 108 : 109 :
© Cast3M 2003 - All rights reserved.
Disclaimer