1 : C DYN208 SOURCE CHAT 05/01/12 23:11:24 5004
2 : SUBROUTINE DYN208(NUML,ITLB,ITYP,KTLIAB,NPLB)
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 : * Remplissage des tableaux de description des liaisons sur *
11 : * la base B partir des informations contenues dans la *
12 : * TABLE ILIB (LIAISON DE TYPE PALIER). *
13 : * *
14 : * Paramètres: *
15 : * *
16 : * e NUML Numéro de la liaison. *
17 : * e ITLB Table rassemblant la description d'une liaison. *
18 : * e ITYP Type de la liaison. *
19 : * s KTLIAB Segment descriptif des liaisons sur base B. *
20 : * e NPLB Nombre total de points. *
21 : * *
22 : * *
23 : * Auteur, date de création: *
24 : * *
25 : * Valérie BOISSON, le 14 mai 1997 *
26 : * *
27 : *--------------------------------------------------------------------*
28 : -INC CCOPTIO
29 : -INC SMCOORD
30 : -INC SMEVOLL
31 : -INC SMLREEL
32 : *
33 : SEGMENT MTLIAB
34 : INTEGER IPALB(NLIAB,NIPALB),IPLIB(NLIAB,NPLBB),JPLIB(NPLB)
35 : REAL*8 XPALB(NLIAB,NXPALB)
36 : REAL*8 XABSCI(NLIAB,NIP),XORDON(NLIAB,NIP)
37 : ENDSEGMENT
38 : *
39 : LOGICAL L1,L0
40 : CHARACTER*40 MONMOT
41 : *
41 : CALL ACCTAB(ITLB,'MOT',I0,X0,'MODELE_PALIER',L0,IP0,
42 : & 'MOT',I1,X1,MONMOT,L1,IP1)
43 :
44 : IF (IERR.NE.0) RETURN
45 : MTLIAB = KTLIAB
46 : *
46 : CALL ACCTAB(ITLB,'MOT',I0,X0,'POINT_SUPPORT',L0,IP0,
47 : & 'POINT',I1,X1,' ',L1,IP1)
48 : IF (IERR.NE.0) RETURN
48 : CALL PLACE2(JPLIB,NPLB,IPLAC,IP1)
49 : IPLIB(NUML,1) = IPLAC
50 : *
51 : * Valeurs de IPALB et XPALB communes à tous les types de paliers fluides :
52 : *
53 : IPALB(NUML,1) = ITYP
54 : IPALB(NUML,2) = 0
55 : IPALB(NUML,3) = 3
56 : IPALB(NUML,4) = 0
57 : *
57 : CALL ACCTAB(ITLB,'MOT',I0,X0,'VISCOSITE_FLUIDE',L0,IP0,
58 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
59 : XPALB(NUML,1) = X1
60 : IF (IERR.NE.0) RETURN
61 :
61 : CALL ACCTAB(ITLB,'MOT',I0,X0,'RHO_FLUIDE',L0,IP0,
62 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
63 : XPALB(NUML,2) = X1
64 : IF (IERR.NE.0) RETURN
65 :
65 : CALL ACCTAB(ITLB,'MOT',I0,X0,'PRESSION_ADMISSION',L0,IP0,
66 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
67 : XPALB(NUML,3) = X1
68 :
69 : IF (IERR.NE.0) RETURN
69 : CALL ACCTAB(ITLB,'MOT',I0,X0,'LONGUEUR_PALIER',L0,IP0,
70 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
71 : XPALB(NUML,4) = X1
72 :
73 : IF (IERR.NE.0) RETURN
73 : CALL ACCTAB(ITLB,'MOT',I0,X0,'AFFICHAGE',L0,IP0,
74 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
75 : XPALB(NUML,5) = X1
76 :
77 : IF (IERR.NE.0) RETURN
77 : CALL ACCTAB(ITLB,'MOT',I0,X0,'RAYON_ARBRE',L0,IP0,
78 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
79 : XPALB(NUML,6) = X1
80 :
81 : IF (IERR.NE.0) RETURN
82 :
82 : CALL ACCTAB(ITLB,'MOT',I0,X0,'VITESSE_ROTATION',L0,IP0,
83 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
84 : XPALB(NUML,7) = X1
85 :
86 : IF (IERR.NE.0) RETURN
86 : CALL ACCTAB(ITLB,'MOT',I0,X0,'EPSI',L0,IP0,
87 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
88 : XPALB(NUML,8) = X1
89 :
90 : IF (IERR.NE.0) RETURN
90 : CALL ACCTAB(ITLB,'MOT',I0,X0,'PHII',L0,IP0,
91 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
92 : XPALB(NUML,9) = X1
93 :
94 : IF (IERR.NE.0) RETURN
95 : *
96 : IF (MONMOT.EQ.'RODELI') THEN
97 : * ----- Cas du palier cylindrique ou à lobes, avec modèle de Rhode et Li
98 : *
99 : IPALB(NUML,5) = 1
99 : CALL ACCTAB(ITLB,'MOT',I0,X0,'GEOMETRIE_PALIER',L0,IP0,
100 : & 'TABLE',I1,X1,' ',L1,ITGEOM)
101 :
102 : IF (IERR.NE.0) RETURN
102 : CALL ACCTAB(ITGEOM,'MOT',I0,X0,'NOMBRE_LOBES',L0,IP0,
103 : & 'ENTIER',NLOB,X1,' ',L1,IP1)
104 :
105 : IF (IERR.NE.0) RETURN
106 : IPALB(NUML,6) = NLOB
107 :
108 : C Nombre de parametres reels :
109 : NBPR = 6
110 : IPALB(NUML,7) = NBPR
111 :
111 : CALL ACCTAB(ITGEOM,'MOT',I0,X0,'CRITERE_ARRET',L0,IP0,
112 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
113 : XPALB(NUML,10) = X1
114 :
115 : IF (IERR.NE.0) RETURN
116 : DO 10 ILOB = 1, NLOB
117 : *
117 : CALL ACCTAB(ITGEOM,'ENTIER',ILOB,X0,MONMOT,L0,IP0,
118 : & 'TABLE',I1,X1,' ',L1,ITLOB)
119 :
120 : IF (IERR.NE.0) RETURN
120 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'NB_MAILLES',L0,IP0,
121 : & 'ENTIER',I1,X1,' ',L1,IP1)
122 : IPALB(NUML,7+ILOB) = I1
123 :
124 : IF (IERR.NE.0) RETURN
124 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'JEU_USINAGE',L0,IP0,
125 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
126 : XPALB(NUML,11+NBPR*(ILOB-1)) = X1
127 :
128 : IF (IERR.NE.0) RETURN
128 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'ASYMETRIE',L0,IP0,
129 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
130 : XPALB(NUML,12+NBPR*(ILOB-1)) = X1
131 :
132 : IF (IERR.NE.0) RETURN
132 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'PRECHARGE',L0,IP0,
133 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
134 : XPALB(NUML,13+NBPR*(ILOB-1)) = X1
135 :
136 : IF (IERR.NE.0) RETURN
136 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'ANGLE_DEBUT',L0,IP0,
137 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
138 : XPALB(NUML,14+NBPR*(ILOB-1)) = X1
139 :
140 : IF (IERR.NE.0) RETURN
140 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'AMPL_ANGLE',L0,IP0,
141 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
142 : XPALB(NUML,15+NBPR*(ILOB-1)) = X1
143 :
144 : IF (IERR.NE.0) RETURN
144 : CALL ACCTAB(ITLOB,'MOT',I0,X0,'COEF_SUR',L0,IP0,
145 : & 'FLOTTANT',I1,X1,MONMOT,L1,IP1)
146 : XPALB(NUML,16+NBPR*(ILOB-1)) = X1
147 :
148 : IF (IERR.NE.0) RETURN
149 : 10 CONTINUE
150 : *
151 : * ----- Autres cas, non définis à ce jour
152 : *
153 : C ELSE IF (MONMOT.EQ.'...') THEN
154 : *
155 : ENDIF
156 : *
157 : END
158 :
159 :
160 :
© Cast3M 2003 - All rights reserved.
Disclaimer