1 : C DYNE71 SOURCE KICH 07/12/10 21:15:57 5994
2 : SUBROUTINE DYNE71(ITLA,PDT,MTRA,NLIAA,NXPALA,NPLAA,NIPALA)
3 : IMPLICIT INTEGER(I-N)
4 : IMPLICIT REAL*8(A-H,O-Z)
5 : *--------------------------------------------------------------------*
6 : * *
7 : * Op{rateur DYNE : algorithme de Fu - de Vogelaere *
8 : * ________________________________________________ *
9 : * *
10 : * D{termination des param}tres de liaison pour la base A. *
11 : * *
12 : * Param}tres: *
13 : * *
14 : * e ITLA Table rassemblant la description des liaisons *
15 : * e PDT Valeur du pas de temps *
16 : * es MTRA Segment de travail temporaire (indique si liaison POL) *
17 : * s NLIAA Nombre total de liaisons. *
18 : * s NXPALA Maxi du nombre de param}tres d{finissant une liaison. *
19 : * s NPLAA Maxi du nombre de points intervenant dans une liaison. *
20 : * s NIPALA Maxi du nombre de param}tres d{finissant une liaison. *
21 : * *
22 : * Auteur, date de cr{ation: *
23 : * *
24 : * Lionel VIVAN, le 24 aout 1989. *
25 : * *
26 : *--------------------------------------------------------------------*
27 : -INC CCOPTIO
28 : -INC SMTABLE
29 : *
30 : SEGMENT,MTRA
31 : INTEGER IPLA(NTRA)
32 : ENDSEGMENT
33 : *
34 : LOGICAL L0,L1
35 : CHARACTER*8 TYPRET,CHARRE
36 : CHARACTER*40 CMOT
37 : *
38 : * Boucle sur le nombre de liaisons
39 : *
40 : NXPALA = 0
41 : NIPALA = 20
42 : NPLAA = 0
43 : NLIAA = 0
44 : IL = 0
45 : 10 CONTINUE
46 : IL = IL + 1
47 : TYPRET = ' '
47 : CALL ACCTAB(ITLA,'ENTIER',IL,X0,' ',L0,IP0,
48 : & TYPRET,I0,X0,CHARRE,L1,ITLIAI)
49 : IF (IERR.NE.0) RETURN
50 : IF (ITLIAI.NE.0) THEN
51 : NLIAA = NLIAA + 1
51 : CALL ACCTAB(ITLIAI,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
52 : & 'MOT',I1,X0,CMOT,L1,IP1)
53 : IF (IERR.NE.0) RETURN
54 : *
55 : * ------ liaison {l{mentaire POINT_PLAN_FLUIDE
56 : *
57 : IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
58 : IPLA(IL) = 0
59 : KIPALA = 3
60 : KXPALA = 6
61 : KPLAA = 1
62 : NXPALA = MAX(NXPALA,KXPALA)
63 : NIPALA = MAX(NIPALA,KIPALA)
64 : NPLAA = MAX(NPLAA,KPLAA)
65 : *
66 : * ------ liaison {l{mentaire POINT_PLAN
67 : *
68 : ELSE IF (CMOT(1:10).EQ.'POINT_PLAN') THEN
69 : IPLA(IL) = 0
70 : TYPRET = ' '
70 : CALL ACCTAB(ITLIAI,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0,
71 : & TYPRET,I1,XAMO,CHARRE,L1,IP1)
72 : IF (IERR.NE.0) RETURN
73 : IF (TYPRET.EQ.'FLOTTANT') THEN
74 : KXPALA = 3
75 : ELSE
76 : KXPALA = 2
77 : ENDIF
78 : KIPALA = 3
79 : KPLAA = 1
80 : NXPALA = MAX(NXPALA,KXPALA)
81 : NIPALA = MAX(NIPALA,KIPALA)
82 : NPLAA = MAX(NPLAA,KPLAA)
83 : *
84 : * ------ liaison {l{mentaire de couplage en vitesse
85 : *
86 : ELSE IF (CMOT(1:16).EQ.'COUPLAGE_VITESSE') THEN
87 : IPLA(IL) = 0
88 : KXPALA = 1
89 : KPLAA = 2
90 : KIPALA = 3
91 : NXPALA = MAX(NXPALA,KXPALA)
92 : NIPALA = MAX(NIPALA,KIPALA)
93 : NPLAA = MAX(NPLAA,KPLAA)
94 : *
95 : * ------ liaison {l{mentaire de couplage en d{placement
96 : *
97 : ELSE IF (CMOT(1:20).EQ.'COUPLAGE_DEPLACEMENT') THEN
98 : IPLA(IL) = 0
99 : KXPALA = 1
100 : KPLAA = 2
101 : KIPALA = 3
102 : NXPALA = MAX(NXPALA,KXPALA)
103 : NIPALA = MAX(NIPALA,KIPALA)
104 : NPLAA = MAX(NPLAA,KPLAA)
105 : *+*
106 : * ------ liaison elementaire POLYNOMIALE
107 : *
108 : ELSE IF (CMOT(1:11).EQ.'POLYNOMIALE') THEN
109 : IPLA(IL) = 1
109 : CALL DYPOL0(ITLIAI,PDT,NX,NI)
110 : IF (IERR.NE.0) RETURN
111 : KXPALA = NX
112 : KPLAA = NI
113 : KIPALA = 3
114 : NXPALA = MAX(NXPALA,KXPALA)
115 : NIPALA = MAX(NIPALA,KIPALA)
116 : NPLAA = MAX(NPLAA,KPLAA)
117 : *
118 : * ------ liaison {l{mentaire ...
119 : *
120 : * ELSE IF (CMOT(1: ).EQ.' ') THEN
121 : * IPLA(IL) = 0
122 : * KXPALA = ...
123 : * KIPALA = ...
124 : * KPLAA = ...
125 : * NXPALA = MAX(NXPALA,KXPALA)
126 : * NIPALA = MAX(NIPALA,KIPALA)
127 : * NPLAA = MAX(NPLAA,KPLAA)
128 : ELSE
128 : CALL ERREUR(490)
129 : RETURN
130 : ENDIF
131 : GOTO 10
132 : ENDIF
133 : *
134 : END
135 :
136 :
137 :
© Cast3M 2003 - All rights reserved.
Disclaimer