1 : C IDMATR SOURCE BP208322 13/10/02 21:15:10 7830
2 :
3 : SUBROUTINE IDMATR(MFR,IPMODL,IPNOMC,NBROBL,NBRFAC)
4 :
5 : *--------------------------------------------------------------------*
6 : * Noms de composantes de mat{riaux *
7 : *--------------------------------------------------------------------*
8 : * *
9 : * ENTREES: *
10 : * MFR Num{ro de formulation *
11 : * IPMODL objet mod}le {l{mentaire ( segment actif ) *
12 : * *
13 : * SORTIES: *
14 : * IPNOMC pointeur sur les listes de noms de composantes *
15 : * obligatoires et facultatives *
16 : * *
17 : * NBROBL nombre de composantes obligatoires *
18 : * *
19 : * NBRFAC nombre de composantes facultatives *
20 : * *
21 : *--------------------------------------------------------------------*
22 : *
23 : IMPLICIT INTEGER(I-N)
24 : IMPLICIT REAL*8(A-H,O-Z)
25 :
26 : -INC CCOPTIO
27 : -INC SMLMOTS
28 : -INC SMMODEL
29 : POINTEUR NOMID1.NOMID ,nomid2.nomid
30 : *
31 : LOGICAL lozut
32 : CHARACTER*16 MOMODL(100)
33 : *
34 : IMODEL=IPMODL
35 : * Le segment existe-t-il deja?
36 : IF (lnomid(6).NE.0) THEN
37 : nomid = lnomid(6)
38 : SEGACT,nomid
39 : nbrobl = lesobl(/2)
40 : nbrfac = lesfac(/2)
41 : SEGDES,nomid
42 : IF (nbrobl+nbrfac.EQ.0) GOTO 765
43 : SEGINI,nomid1=nomid
44 : SEGDES,nomid1
45 : ipnomc=nomid1
46 : RETURN
47 : ENDIF
48 : 765 CONTINUE
49 :
50 : NBROBL=0
51 : NBRFAC=0
52 : NOMID=0
53 : MOOBL=0
54 : MOFAC=0
55 : JGN=8
56 : *
57 : NMAT=MATMOD(/2)
58 : NFOR=FORMOD(/2)
59 : MELE=NEFMOD
60 :
61 : *--------------------------------------------------------------------
62 : * CAS DE LA FORMULATION THERMOHYDRIQUE
63 : *--------------------------------------------------------------------
63 : CALL PLACE(FORMOD,NFOR,ithehy,'THERMOHYDRIQUE')
64 : IF( ithehy.ne.0) then
65 : if ( matmod(1).eq.'SCHREFLER') then
66 : JGM = 20
67 : SEGINI MLMOTS
68 : MOOBL=MLMOTS
69 : MOTS(1)='KGG'
70 : MOTS(2)='KGC'
71 : MOTS(3)='KGT'
72 : MOTS(4)='KCG'
73 : MOTS(5)='KCC'
74 : MOTS(6)='KCT'
75 : MOTS(7)='KTG'
76 : MOTS(8)='KTC'
77 : MOTS(9)='KTT'
78 : MOTS(10)='CGG'
79 : MOTS(11)='CGC'
80 : MOTS(12)='CGT'
81 : MOTS(13)='CCG'
82 : MOTS(14)='CCC'
83 : MOTS(15)='CCT'
84 : MOTS(16)='CTG'
85 : MOTS(17)='CTC'
86 : MOTS(18)='CTT'
87 : MOTS(19)='KTGG'
88 : MOTS(20)='KTCG'
89 : GO TO 9999
90 : else
91 : GO TO 99
92 : endif
93 : ENDIF
94 : *--------------------------------------------------------------------
95 : * CAS DE LA FORMULATION LIQUIDE ET ELEMENT DE RACCORD LITU
96 : *--------------------------------------------------------------------
96 : CALL PLACE(FORMOD,NFOR,ILIQU,'LIQUIDE')
97 : IF (ILIQU.NE.0) THEN
98 : IF (MFR.NE.41.AND.MFR.NE.43) THEN
99 : JGM = 6
100 : SEGINI MLMOTS
101 : MOOBL=MLMOTS
102 : MOTS(1)='RHO '
103 : MOTS(2)='CSON'
104 : MOTS(3)='RORF'
105 : MOTS(4)='CREF'
106 : MOTS(5)='LCAR'
107 : MOTS(6)='G '
108 : GOTO 9999
109 : ELSEIF (MFR.EQ.41) THEN
110 : JGM = 5
111 : SEGINI MLMOTS
112 : MOOBL=MLMOTS
113 : MOTS(1)='RHO '
114 : MOTS(2)='CSON'
115 : MOTS(3)='RORF'
116 : MOTS(4)='CREF'
117 : MOTS(5)='LCAR'
118 : GOTO 9999
119 : ELSE
120 : JGM = 3
121 : SEGINI MLMOTS
122 : MOOBL=MLMOTS
123 : MOTS(1)='RHO '
124 : MOTS(2)='LCAR'
125 : MOTS(3)='RORF'
126 : GOTO 9999
127 : ENDIF
128 : ENDIF
129 : *--------------------------------------------------------------------
130 : * CAS DE LA FORMULATION THERMIQUE ( I. E. CONDUCTION )
131 : * CAS DE LA FORMULATION DARCY
132 : *--------------------------------------------------------------------
132 : CALL PLACE(FORMOD,NFOR,ITHER,'THERMIQUE')
132 : CALL PLACE(FORMOD,NFOR,IDARCY,'DARCY')
133 : ITHFL = ITHER + IDARCY
134 : IF (ITHFL.NE.0) THEN
134 : CALL PLACE(MATMOD,NMAT,IORTH,'ORTHOTROPE')
134 : CALL PLACE(MATMOD,NMAT,IANIS,'ANISOTROPE')
135 : IF(IORTH.EQ.0.AND.IANIS.EQ.0)THEN
136 : JGM = 1
137 : SEGINI MLMOTS
138 : MOOBL=MLMOTS
139 : MOTS(1)='K '
140 : ELSEIF ( IORTH.NE.0) THEN
141 : * ELEMENTS COQUES
142 : IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
143 : JGM=5
144 : SEGINI MLMOTS
145 : MOOBL=MLMOTS
146 : MOTS(1)='K1 '
147 : MOTS(2)='K2 '
148 : MOTS(3)='K3 '
149 : MOTS(4)='V1X '
150 : MOTS(5)='V1Y '
151 : ELSEIF (MFR.EQ.1.OR.MFR.EQ.45) THEN
152 : * ELEMENTS MASSIFS
153 : IF (IDIM.EQ.2) THEN
154 : IF (IFOMOD.EQ.1) THEN
155 : * ELEMENT MASSIF DE FOURIER
156 : JGM=5
157 : SEGINI MLMOTS
158 : MOOBL=MLMOTS
159 : MOTS(1)='K1 '
160 : MOTS(2)='K2 '
161 : MOTS(3)='V1X '
162 : MOTS(4)='V1Y '
163 : MOTS(5)='K3 '
164 : ELSE
165 : JGM=4
166 : SEGINI MLMOTS
167 : MOOBL=MLMOTS
168 : MOTS(1)='K1 '
169 : MOTS(2)='K2 '
170 : MOTS(3)='V1X '
171 : MOTS(4)='V1Y '
172 : ENDIF
173 : ELSEIF (IDIM.EQ.3) THEN
174 : JGM=9
175 : SEGINI MLMOTS
176 : MOOBL=MLMOTS
177 : MOTS(1)='K1 '
178 : MOTS(2)='K2 '
179 : MOTS(3)='K3 '
180 : MOTS(4)='V1X '
181 : MOTS(5)='V1Y '
182 : MOTS(6)='V1Z '
183 : MOTS(7)='V2X '
184 : MOTS(8)='V2Y '
185 : MOTS(9)='V2Z '
186 : ENDIF
187 : ENDIF
188 : ELSEIF (IANIS.NE.0) THEN
189 : IF( MFR.EQ.1.OR.MFR.EQ.45) THEN
190 : * ELEMENTS MASSIFS
191 : IF (IDIM.EQ.2) THEN
192 : IF (IFOMOD.EQ.1) THEN
193 : * ELEMENT MASSIF DE FOURIER
194 : JGM=6
195 : SEGINI MLMOTS
196 : MOOBL=MLMOTS
197 : MOTS(1)='K11 '
198 : MOTS(2)='K22 '
199 : MOTS(3)='K21 '
200 : MOTS(4)='V1X '
201 : MOTS(5)='V1Y '
202 : MOTS(6)='K33 '
203 : ELSE
204 : JGM=5
205 : SEGINI MLMOTS
206 : MOOBL=MLMOTS
207 : MOTS(1)='K11 '
208 : MOTS(2)='K22 '
209 : MOTS(3)='K21 '
210 : MOTS(4)='V1X '
211 : MOTS(5)='V1Y '
212 : ENDIF
213 : ELSEIF (IDIM.EQ.3) THEN
214 : JGM=12
215 : SEGINI MLMOTS
216 : MOOBL=MLMOTS
217 : MOTS(1)='K11 '
218 : MOTS(2)='K22 '
219 : MOTS(3)='K33 '
220 : MOTS(4)='K21 '
221 : MOTS(5)='K31 '
222 : MOTS(6)='K32 '
223 : MOTS(7)='V1X '
224 : MOTS(8)='V1Y '
225 : MOTS(9)='V1Z '
226 : MOTS(10)='V2X '
227 : MOTS(11)='V2Y '
228 : MOTS(12)='V2Z '
229 : ENDIF
230 : ENDIF
231 : ENDIF
232 : *
233 : IF (IDARCY.EQ.0) THEN
233 : CALL PLACE(MATMOD,NMAT,IPHA,'PHASE')
234 : IF(IPHA.NE.0) THEN
235 : * JGM=3
236 : * SEGINI MLMOTS
237 : * MOFAC=MLMOTS
238 : * MOTS(1)='RHO '
239 : * MOTS(2)='C '
240 : * MOTS(3)='H '
241 : * ELSE
242 : IJGI=JGM
243 : JGM=JGM+4
244 : SEGADJ MLMOTS
245 : MOTS(IJGI+1)='RHO '
246 : MOTS(IJGI+2)='C '
247 : MOTS(IJGI+3)='QLAT'
248 : MOTS(IJGI+4)='TPHA'
249 : JGM=1
250 : SEGINI MLMOTS
251 : MOFAC=MLMOTS
252 : MOTS(1)='H '
253 : GOTO 9999
254 : ENDIF
254 : CALL PLACE(MATMOD,NMAT,ICONV,'CONVECTION')
255 : if ( iconv.ne.0) then
256 : JGM = 1
257 : SEGINI MLMOTS
258 : MOOBL=MLMOTS
259 : MOTS(1)='H '
260 : GOTO 9999
261 : ENDIF
261 : call place(MATMOD,NMAT,IADVE,'ADVECTION')
262 : if(iadve.ne.0) then
262 : call iddepl(mfr,ifour,nomid2,nob,nfa)
263 : write(6,*) ' nomid2 nob nfa ' , nomid2,nob,nfa
264 : segact nomid2
265 : mlmots=moobl
266 : jgm= nob+3
267 : segini mlmots
268 : mofac=mlmots
269 : mots(1)='RHO'
270 : mots(2)='C'
271 : mots(3)='VITE'
272 : do iyt=1,nob
273 : mots(3+iyt)=nomid2.lesobl(iyt)
274 : enddo
275 : GO TO 9999
276 : endif
276 : CALL PLACE(MATMOD,NMAT,iraye,'RAYONNEMENT')
277 : if(iraye.ne.0)then
277 : call place (matmod,nmat,icave,'CAVITE')
277 : call place(matmod,nmat,ifacaf,'FAC_A_FAC')
277 : call place (matmod,nmat,iinfi,'INFINI')
278 : if(icave.ne.0) then
279 : IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
280 : JGM=2
281 : SEGINI MLMOTS
282 : MOOBL=MLMOTS
283 : MOTS(1)='EINF'
284 : MOTS(2)='ESUP'
285 : jgm=1
286 : else
287 : jgm=1
288 : segini mlmots
289 : moobl=mlmots
290 : mots(1)='EMIS'
291 : endif
292 : jgm=2
293 : segini mlmots
294 : mots(1)='CABS'
295 : mots(2)='TABS'
296 : mofac=mlmots
297 : elseif(ifacaf.ne.0) then
298 : JGM=1
299 : SEGINI MLMOTS
300 : MOOBL=MLMOTS
301 : MOTS(1)='EMIS'
302 : elseif (iinfi.ne.0) then
303 : IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
304 : JGM=2
305 : SEGINI MLMOTS
306 : MOOBL=MLMOTS
307 : MOTS(1)='EINF'
308 : MOTS(2)='ESUP'
309 : jgm=1
310 : ELSE
311 : JGM=1
312 : SEGINI MLMOTS
313 : MOOBL=MLMOTS
314 : MOTS(1)='EMIS'
315 : ENDIF
316 : jgm=1
317 : segini mlmots
318 : mofac=mlmots
319 : mots(1)='E_IN'
320 : endif
321 : GOTO 9999
322 : endif
323 : JGM=3
324 : SEGINI MLMOTS
325 : MOFAC=MLMOTS
326 : MOTS(1)='RHO '
327 : MOTS(2)='C '
328 : MOTS(3)='H '
329 : ENDIF
330 : ENDIF
331 : *--------------------------------------------------------------------
332 : * CAS DE LA FORMULATION CONVECTION
333 : *--------------------------------------------------------------------
333 : CALL PLACE(FORMOD,NFOR,ICONV,'CONVECTION')
334 : IF (ICONV.NE.0) THEN
335 : JGM = 1
336 : SEGINI MLMOTS
337 : MOOBL=MLMOTS
338 : MOTS(1)='H '
339 : GOTO 9999
340 : ENDIF
341 : *--------------------------------------------------------------------
342 : * CAS DE LA FORMULATION MECANIQUE
343 : *--------------------------------------------------------------------
343 : CALL PLACE(FORMOD,NFOR,ICONV,'MECANIQUE')
344 : IF (ICONV.NE.0) THEN
345 : *
345 : CALL MODLIN(MOMODL,NMOD)
345 : CALL PLACE(MOMODL,NMOD,ICONV,MATMOD(1))
346 : IF (ICONV.EQ.0) GOTO 99
347 : IF (NMAT.GE.2) THEN
348 :
348 : CALL MODELA(MOMODL,NMOD)
348 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(2))
349 : if ((IPLAC.EQ.9.OR.IPLAC.EQ.10).AND.NMAT.GT.2) then
350 : INMAT = 3
351 : goto 19
352 : endif
353 :
354 : IF (IPLAC.NE.0) THEN
355 : INMAT=3
356 : IF (IPLAC.EQ.1) THEN
357 : INMAT=3
358 : GOTO 10
359 : ENDIF
360 : IF (IPLAC.EQ.2) THEN
361 : *
362 : * MATERIAU ELASTIQUE ORTHOTROPE
363 : *
364 : IF (MFR.EQ.75) THEN
365 : *
366 : * JOINT UNIDIMENSIONNEL JOI1
367 : *
368 : IF(IFOUR.EQ.2)THEN
369 : JGM=12
370 : SEGINI MLMOTS
371 : MOOBL=MLMOTS
372 : MOTS(1)='V1X '
373 : MOTS(2)='V1Y '
374 : MOTS(3)='V1Z '
375 : MOTS(4)='V2X '
376 : MOTS(5)='V2Y '
377 : MOTS(6)='V2Z '
378 : MOTS(7)='KN '
379 : MOTS(8)='KS1 '
380 : MOTS(9)='KS2'
381 : MOTS(10)='QN '
382 : MOTS(11)='QS1 '
383 : MOTS(12)='QS2 '
384 : *
385 : JGM=10
386 : SEGINI MLMOTS
387 : MOFAC=MLMOTS
388 : MOTS(1)='MASS'
389 : MOTS(2)='JX'
390 : MOTS(3)='JY'
391 : MOTS(4)='JZ'
392 : MOTS(5)='ALPN'
393 : MOTS(6)='ALP1'
394 : MOTS(7)='ALP2'
395 : MOTS(8)='ALQN'
396 : MOTS(9)='ALQ1'
397 : MOTS(10)='ALQ2'
398 : *
399 : ELSEIF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1)THEN
400 : JGM=5
401 : SEGINI MLMOTS
402 : MOOBL=MLMOTS
403 : MOTS(1)='V1X '
404 : MOTS(2)='V1Y '
405 : MOTS(3)='KN '
406 : MOTS(4)='KS '
407 : MOTS(5)='QS'
408 : *
409 : JGM=6
410 : SEGINI MLMOTS
411 : MOFAC=MLMOTS
412 : MOTS(1)='MASS'
413 : MOTS(2)='JZ'
414 : MOTS(4)='ALPN'
415 : MOTS(5)='ALPS'
416 : MOTS(6)='ALQS'
417 : ENDIF
418 : *
419 : ELSEIF (MFR.EQ.3) THEN
420 : *
421 : * COQUES MINCES
422 : *
423 : JGM=6
424 : SEGINI MLMOTS
425 : MOOBL=MLMOTS
426 : MOTS(1)='YG1 '
427 : MOTS(2)='YG2 '
428 : MOTS(3)='NU12'
429 : MOTS(4)='G12 '
430 : MOTS(5)='V1X '
431 : MOTS(6)='V1Y '
432 : *
433 : IF(IFOUR.EQ.-2) THEN
434 : JGM=4
435 : ELSE
436 : JGM=3
437 : ENDIF
438 : SEGINI MLMOTS
439 : MOFAC=MLMOTS
440 : MOTS(1)='ALP1'
441 : MOTS(2)='ALP2'
442 : MOTS(3)='RHO '
443 : IF(IFOUR.EQ.-2) MOTS(4)='DIM3'
444 : ELSEIF (MFR.EQ.9.OR.MFR.EQ.5) THEN
445 : *
446 : * COQUES AVEC CISAILLEMENT TRANSVERSE
447 : *
448 : JGM=8
449 : SEGINI MLMOTS
450 : MOOBL=MLMOTS
451 : MOTS(1)='YG1 '
452 : MOTS(2)='YG2 '
453 : MOTS(3)='NU12'
454 : MOTS(4)='G12 '
455 : MOTS(5)='G23 '
456 : MOTS(6)='G13 '
457 : MOTS(7)='V1X '
458 : MOTS(8)='V1Y '
459 : *
460 : JGM=3
461 : SEGINI MLMOTS
462 : MOFAC=MLMOTS
463 : MOTS(1)='RHO '
464 : MOTS(2)='ALP1'
465 : MOTS(3)='ALP2'
466 : ELSEIF (MFR.EQ.1.OR.MFR.EQ.31) THEN
467 : *
468 : * ELEMENTS MASSIFS
469 : *
470 : IF(IDIM.EQ.3)THEN
471 : * ELEMENTS 3D
472 : JGM=15
473 : SEGINI MLMOTS
474 : MOOBL=MLMOTS
475 : MOTS(1)='YG1 '
476 : MOTS(2)='YG2 '
477 : MOTS(3)='YG3 '
478 : MOTS(4)='NU12'
479 : MOTS(5)='NU23'
480 : MOTS(6)='NU13'
481 : MOTS(7)='G12 '
482 : MOTS(8)='G23 '
483 : MOTS(9)='G13 '
484 : MOTS(10)='V1X '
485 : MOTS(11)='V1Y '
486 : MOTS(12)='V1Z '
487 : MOTS(13)='V2X '
488 : MOTS(14)='V2Y '
489 : MOTS(15)='V2Z '
490 : *
491 : JGM=4
492 : SEGINI MLMOTS
493 : MOFAC=MLMOTS
494 : MOTS(1)='RHO '
495 : MOTS(2)='ALP1'
496 : MOTS(3)='ALP2'
497 : MOTS(4)='ALP3'
498 : ELSEIF (IDIM.EQ.2) THEN
499 : IF(IFOUR.EQ.-2)THEN
500 : * CONTRAINTE PLANE
501 : JGM=9
502 : SEGINI MLMOTS
503 : MOOBL=MLMOTS
504 : MOTS(1)='YG1 '
505 : MOTS(2)='YG2 '
506 : MOTS(3)='NU12'
507 : MOTS(4)='G12 '
508 : MOTS(5)='V1X '
509 : MOTS(6)='V1Y '
510 : MOTS(7)='YG3 '
511 : MOTS(8)='NU23'
512 : MOTS(9)='NU13'
513 : *
514 : JGM=4
515 : SEGINI MLMOTS
516 : MOFAC=MLMOTS
517 : MOTS(1)='RHO '
518 : MOTS(2)='ALP1'
519 : MOTS(3)='ALP2'
520 : MOTS(4)='DIM3'
521 : ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
522 : * DEFORMATION PLANE ,AXISYMETRIE
523 : JGM=9
524 : SEGINI MLMOTS
525 : MOOBL=MLMOTS
526 : MOTS(1)='YG1 '
527 : MOTS(2)='YG2 '
528 : MOTS(3)='YG3 '
529 : MOTS(4)='NU12'
530 : MOTS(5)='NU23'
531 : MOTS(6)='NU13'
532 : MOTS(7)='G12 '
533 : MOTS(8)='V1X '
534 : MOTS(9)='V1Y '
535 : *
536 : JGM=4
537 : SEGINI MLMOTS
538 : MOFAC=MLMOTS
539 : MOTS(1)='RHO '
540 : MOTS(2)='ALP1'
541 : MOTS(3)='ALP2'
542 : MOTS(4)='ALP3'
543 : ELSEIF (IFOUR.EQ.1) THEN
544 : * AXISYMETRIE DE FOURIER
545 : JGM=11
546 : SEGINI MLMOTS
547 : MOOBL=MLMOTS
548 : MOTS(1)='YG1 '
549 : MOTS(2)='YG2 '
550 : MOTS(3)='YG3 '
551 : MOTS(4)='NU12'
552 : MOTS(5)='NU23'
553 : MOTS(6)='NU13'
554 : MOTS(7)='G12 '
555 : MOTS(8)='G23 '
556 : MOTS(9)='G13 '
557 : MOTS(10)='V1X '
558 : MOTS(11)='V1Y '
559 : *
560 : JGM=4
561 : SEGINI MLMOTS
562 : MOFAC=MLMOTS
563 : MOTS(1)='RHO '
564 : MOTS(2)='ALP1'
565 : MOTS(3)='ALP2'
566 : MOTS(4)='ALP3'
567 : ENDIF
568 : ELSEIF (IDIM.EQ.1) THEN
569 : C= Dans le cas UNID SPHErique, on doit avoir YG2=YG3 et NU12=NU13
570 : C= et dans le cas thermomecanique ALP2=ALP3.
571 : JGM=6
572 : SEGINI,MLMOTS
573 : MOTS(1)='YG1 '
574 : MOTS(2)='YG2 '
575 : MOTS(3)='YG3 '
576 : MOTS(4)='NU12'
577 : MOTS(5)='NU23'
578 : MOTS(6)='NU13'
579 : MOOBL=MLMOTS
580 : IF (IFOUR.EQ.6) THEN
581 : JGM=2
582 : SEGINI,MLMOTS
583 : ELSEIF (IFOUR.EQ.5.OR.IFOUR.EQ.10) THEN
584 : JGM=3
585 : SEGINI,MLMOTS
586 : MOTS(3)='ALP3'
587 : ELSEIF (IFOUR.EQ.4.OR.IFOUR.EQ.8.OR.
588 : . IFOUR.EQ.13) THEN
589 : JGM=3
590 : SEGINI,MLMOTS
591 : MOTS(3)='ALP2'
592 : ELSE
593 : JGM=4
594 : SEGINI,MLMOTS
595 : MOTS(3)='ALP2'
596 : MOTS(4)='ALP3'
597 : ENDIF
598 : MOTS(1)='RHO '
599 : MOTS(2)='ALP1'
600 : MOFAC=MLMOTS
601 : ENDIF
602 : ELSEIF (MFR.EQ.35) THEN
603 : * ELEMENTS JOINTS
604 : IF (IFOUR.EQ.2) THEN
605 : JGM=5
606 : SEGINI MLMOTS
607 : MOOBL=MLMOTS
608 : MOTS(1)='KS1 '
609 : MOTS(2)='KS2 '
610 : MOTS(3)='KN '
611 : MOTS(4)='V1X '
612 : MOTS(5)='V1Y '
613 : *
614 : JGM=2
615 : SEGINI MLMOTS
616 : MOFAC=MLMOTS
617 : MOTS(1)='RHO '
618 : MOTS(2)='ALPN'
619 : ENDIF
620 : ENDIF
621 : ELSEIF (IPLAC.EQ.3)THEN
622 : *
623 : * MATERIAU ANISOTROPE ELASTIQUE
624 : *
625 : IF(MFR.EQ.75)THEN
626 : *
627 : * JOINT UNIDIMESIONNEL JOI1
628 : *
629 : IF (IFOUR.EQ.2) THEN
630 : JGM=27
631 : SEGINI MLMOTS
632 : MOOBL=MLMOTS
633 : MOTS(1)='V1X '
634 : MOTS(2)='V1Y '
635 : MOTS(3)='V1Z '
636 : MOTS(4)='V2X '
637 : MOTS(5)='V2Y '
638 : MOTS(6)='V2Z '
639 : MOTS(7)='D11 '
640 : MOTS(8)='D22 '
641 : MOTS(9)='D33 '
642 : MOTS(10)='D44 '
643 : MOTS(11)='D55 '
644 : MOTS(12)='D66 '
645 : MOTS(13)='D21 '
646 : MOTS(14)='D31 '
647 : MOTS(15)='D32 '
648 : MOTS(16)='D41 '
649 : MOTS(17)='D42 '
650 : MOTS(18)='D43 '
651 : MOTS(19)='D51 '
652 : MOTS(20)='D52 '
653 : MOTS(21)='D53 '
654 : MOTS(22)='D54 '
655 : MOTS(23)='D61 '
656 : MOTS(24)='D62 '
657 : MOTS(25)='D63 '
658 : MOTS(26)='D64 '
659 : MOTS(27)='D65 '
660 : *
661 : JGM=10
662 : SEGINI MLMOTS
663 : MOFAC=MLMOTS
664 : * MASS: masse totale de l'élément joint
665 : MOTS(1)='MASS'
666 : MOTS(2)='JX'
667 : MOTS(3)='JY'
668 : MOTS(4)='JZ'
669 : MOTS(5)='ALP1'
670 : MOTS(6)='ALP2'
671 : MOTS(7)='ALP3'
672 : MOTS(8)='ALQ1'
673 : MOTS(9)='ALQ2'
674 : MOTS(10)='ALQ3'
675 : *
676 : ELSEIF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
677 : JGM=8
678 : SEGINI MLMOTS
679 : MOOBL=MLMOTS
680 : MOTS(1)='V1X '
681 : MOTS(2)='V1Y '
682 : MOTS(3)='D11 '
683 : MOTS(4)='D22 '
684 : MOTS(5)='D33 '
685 : MOTS(6)='D21 '
686 : MOTS(7)='D31 '
687 : MOTS(8)='D32 '
688 : *
689 : JGM=5
690 : SEGINI MLMOTS
691 : MOFAC=MLMOTS
692 : * MASS: masse totale de l'élément joint
693 : MOTS(1)='MASS'
694 : MOTS(2)='JZ'
695 : MOTS(3)='ALP1'
696 : MOTS(4)='ALP2'
697 : MOTS(5)='ALQ3'
698 : ENDIF
699 : ENDIF
700 : *
701 : *
702 : * ELEMENTS MASSIFS
703 : *
704 : IF(MFR.EQ.1.OR.MFR.EQ.31)THEN
705 : IF(IDIM.EQ.3)THEN
706 : * ELEMENTS 3D
707 : JGM=27
708 : SEGINI MLMOTS
709 : MOOBL=MLMOTS
710 : MOTS(1)='D11 '
711 : MOTS(2)='D21 '
712 : MOTS(3)='D22 '
713 : MOTS(4)='D31 '
714 : MOTS(5)='D32 '
715 : MOTS(6)='D33 '
716 : MOTS(7)='D41 '
717 : MOTS(8)='D42 '
718 : MOTS(9)='D43 '
719 : MOTS(10)='D44 '
720 : MOTS(11)='D51 '
721 : MOTS(12)='D52 '
722 : MOTS(13)='D53 '
723 : MOTS(14)='D54 '
724 : MOTS(15)='D55 '
725 : MOTS(16)='D61 '
726 : MOTS(17)='D62 '
727 : MOTS(18)='D63 '
728 : MOTS(19)='D64 '
729 : MOTS(20)='D65 '
730 : MOTS(21)='D66 '
731 : MOTS(22)='V1X '
732 : MOTS(23)='V1Y '
733 : MOTS(24)='V1Z '
734 : MOTS(25)='V2X '
735 : MOTS(26)='V2Y '
736 : MOTS(27)='V2Z '
737 : *
738 : JGM=7
739 : SEGINI MLMOTS
740 : MOFAC=MLMOTS
741 : MOTS(1)='RHO '
742 : MOTS(2)='ALP1'
743 : MOTS(3)='ALP2'
744 : MOTS(4)='ALP3'
745 : MOTS(5)='AL12'
746 : MOTS(6)='AL13'
747 : MOTS(7)='AL23'
748 : ELSEIF (IDIM.EQ.2) THEN
749 : IF (IFOUR.EQ.-2) THEN
750 : * CONTRAINTE PLANE
751 : JGM=12
752 : SEGINI MLMOTS
753 : MOOBL=MLMOTS
754 : MOTS(1)='D11 '
755 : MOTS(2)='D21 '
756 : MOTS(3)='D22 '
757 : MOTS(4)='D41 '
758 : MOTS(5)='D42 '
759 : MOTS(6)='D44 '
760 : MOTS(7)='V1X '
761 : MOTS(8)='V1Y '
762 : MOTS(9)='D31 '
763 : MOTS(10)='D32 '
764 : MOTS(11)='D33 '
765 : MOTS(12)='D43 '
766 : *
767 : JGM=5
768 : SEGINI MLMOTS
769 : MOFAC=MLMOTS
770 : MOTS(1)='RHO '
771 : MOTS(2)='ALP1'
772 : MOTS(3)='ALP2'
773 : MOTS(4)='AL12'
774 : MOTS(5)='DIM3'
775 : ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
776 : * DEFORMATION PLANE ,AXISYMETRIE
777 : JGM=12
778 : SEGINI MLMOTS
779 : MOOBL=MLMOTS
780 : MOTS(1)='D11 '
781 : MOTS(2)='D21 '
782 : MOTS(3)='D22 '
783 : MOTS(4)='D31 '
784 : MOTS(5)='D32 '
785 : MOTS(6)='D33 '
786 : MOTS(7)='D41 '
787 : MOTS(8)='D42 '
788 : MOTS(9)='D43 '
789 : MOTS(10)='D44 '
790 : MOTS(11)='V1X '
791 : MOTS(12)='V1Y '
792 : *
793 : JGM=5
794 : SEGINI MLMOTS
795 : MOFAC=MLMOTS
796 : MOTS(1)='RHO '
797 : MOTS(2)='ALP1'
798 : MOTS(3)='ALP2'
799 : MOTS(4)='AL12'
800 : MOTS(5)='ALP3'
801 : ELSEIF (IFOUR.EQ.1) THEN
802 : * AXISYMETRIE DE FOURIER
803 : JGM=15
804 : SEGINI MLMOTS
805 : MOOBL=MLMOTS
806 : MOTS(1)='D11 '
807 : MOTS(2)='D21 '
808 : MOTS(3)='D22 '
809 : MOTS(4)='D31 '
810 : MOTS(5)='D32 '
811 : MOTS(6)='D33 '
812 : MOTS(7)='D41 '
813 : MOTS(8)='D42 '
814 : MOTS(9)='D43 '
815 : MOTS(10)='D44 '
816 : MOTS(11)='D55 '
817 : MOTS(12)='D65 '
818 : MOTS(13)='D66 '
819 : MOTS(14)='V1X '
820 : MOTS(15)='V1Y '
821 : *
822 : JGM=5
823 : SEGINI MLMOTS
824 : MOFAC=MLMOTS
825 : MOTS(1)='RHO '
826 : MOTS(2)='ALP1'
827 : MOTS(3)='ALP2'
828 : MOTS(4)='AL12'
829 : MOTS(5)='ALP3'
830 : ENDIF
831 : ENDIF
832 : ENDIF
833 : ELSEIF (IPLAC.EQ.4) THEN
834 : IF (MFR.EQ.33) THEN
835 : *
836 : * MILIEU POREUX ISOTROPE
837 : *
838 : JGM=12
839 : SEGINI MLMOTS
840 : MOOBL=MLMOTS
841 : MOTS(1) ='YOUN'
842 : MOTS(2) ='NU '
843 : MOTS(3) ='RHO '
844 : MOTS(4) ='ALPH'
845 : MOTS(5) ='COB '
846 : MOTS(6) ='MOB '
847 : MOTS(7) ='ALPM'
848 : MOTS(8) ='PERM'
849 : MOTS(9) ='VISC'
850 : MOTS(10)='KF '
851 : MOTS(11)='RHOF'
852 : MOTS(12)='ALPF'
853 : *
854 : IF (IFOUR.EQ.-2) THEN
855 : JGM=1
856 : SEGINI MLMOTS
857 : MOFAC=MLMOTS
858 : MOTS(1)='DIM3'
859 : ENDIF
860 :
861 : ENDIF
862 : ELSEIF (IPLAC.EQ.5) THEN
863 : IF (MFR.EQ.37) THEN
864 : *
865 : * MILIEU HOMOGENEISE
866 : *
867 : JGM=16
868 : SEGINI MLMOTS
869 : MOOBL=MLMOTS
870 : MOTS( 1)='B11 '
871 : MOTS( 2)='B22 '
872 : MOTS( 3)='B12 '
873 : MOTS( 4)='ROF '
874 : MOTS( 5)='ROS '
875 : MOTS( 6)='YOUN'
876 : MOTS( 7)='CSON'
877 : MOTS( 8)='RORF'
878 : MOTS( 9)='CREF'
879 : MOTS(10)='LCAR'
880 : MOTS(11)='E111'
881 : MOTS(12)='E112'
882 : MOTS(13)='E121'
883 : MOTS(14)='E122'
884 : MOTS(15)='E221'
885 : MOTS(16)='E222'
886 : ENDIF
887 : ELSEIF (IPLAC.EQ.6) THEN
888 : C
889 : C MATERIAU ELASTIQUE UNIDIRECTIONNEL
890 : C
891 : IF ((MFR.EQ.1.OR.MFR.EQ.31).AND.IDIM.EQ.3) THEN
892 : JGM=7
893 : SEGINI MLMOTS
894 : MOOBL=MLMOTS
895 : MOTS(1)='YOUN'
896 : MOTS(2)='V1X '
897 : MOTS(3)='V1Y '
898 : MOTS(4)='V1Z '
899 : MOTS(5)='V2X '
900 : MOTS(6)='V2Y '
901 : MOTS(7)='V2Z '
902 : ELSE
903 : JGM=3
904 : SEGINI MLMOTS
905 : MOOBL=MLMOTS
906 : MOTS(1)='YOUN'
907 : MOTS(2)='V1X '
908 : MOTS(3)='V1Y '
909 : ENDIF
910 : *
911 : IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31).AND.
912 : . IFOUR.EQ.-2) THEN
913 : JGM=3
914 : ELSE
915 : JGM=2
916 : ENDIF
917 : SEGINI MLMOTS
918 : MOFAC=MLMOTS
919 : MOTS(1)='RHO '
920 : MOTS(2)='ALPH'
921 : IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31).AND
922 : + .IFOUR.EQ.-2) MOTS(3)='DIM3'
923 :
924 : ELSEIF (IPLAC.EQ.7) THEN
925 : C
926 : C MODELE ET MATERIAU DE LA SECTION DU MODELE A FIBRE
927 : C
928 : JGM=2
929 : SEGINI MLMOTS
930 : MOOBL=MLMOTS
931 : MOTS(1)='MODS'
932 : MOTS(2)='MATS'
933 : JGM=1
934 : SEGINI MLMOTS
935 : MOFAC=MLMOTS
936 : MOTS(1)='MANO'
937 : C ---- IPLAC 8: Ajout� par Jiang, 22/08/1995 et fleuret 28/05/96
938 : ELSEIF (IPLAC.EQ.8) THEN
939 : C
940 : C MODELE ET MATERIAU POUR LE CABLE PRECONTRAINT
941 : C
942 : JGM=1
943 : SEGINI MLMOTS
944 : MOOBL=MLMOTS
945 : MOTS(1)='YOUN'
946 : JGM=8
947 : SEGINI MLMOTS
948 : MOFAC=MLMOTS
949 : MOTS(1)='FF'
950 : MOTS(2)='PHIF'
951 : MOTS(3)='GANC'
952 : MOTS(4)='RMU0'
953 : MOTS(5)='FPRG'
954 : MOTS(6)='RH10'
955 : MOTS(7)='ALPH'
956 : MOTS(8)='RHO '
957 :
958 : C --- Fin de modification 08/1995
959 : ELSEIF (IPLAC.EQ.9) THEN
960 : C
961 : C MODAL
962 : C
963 : JGM=3
964 : SEGINI MLMOTS
965 : MOOBL=MLMOTS
966 : MOTS(1)='FREQ'
967 : MOTS(2)='MASS'
968 : MOTS(3)='DEFO'
969 : JGM = 9
970 : SEGINI MLMOTS
971 : MOFAC = MLMOTS
972 : MOTS(1) = 'AMOR'
973 : MOTS(2) = 'CGRA'
974 : MOTS(3) = 'MADE'
975 : MOTS(4) = 'RICR'
976 : MOTS(5) = 'MAIB'
977 : MOTS(6) = 'MACR'
978 : MOTS(7) = 'AMCR'
979 : MOTS(8) = 'ALP0'
980 : MOTS(9) = 'ECRO'
981 :
982 : ELSEIF (IPLAC.EQ.10) THEN
983 : C
984 : C STATIQUE
985 : C
986 : JGM=3
987 : SEGINI MLMOTS
988 : MOOBL=MLMOTS
989 : MOTS(1)='DEFO'
990 : MOTS(2)='RIDE'
991 : MOTS(3)='MADE'
992 : JGM = 8
993 : SEGINI MLMOTS
994 : MOFAC = MLMOTS
995 : MOTS(1) = 'AMOR'
996 : MOTS(2) = 'RICR'
997 : MOTS(3) = 'MAIA'
998 : MOTS(4) = 'MAIB'
999 : MOTS(5) = 'MACR'
1000 : MOTS(6) = 'AMCR'
1001 : MOTS(7) = 'BET0'
1002 : MOTS(8) = 'ECRO'
1003 :
1004 : ELSEIF (IPLAC.EQ.11) THEN
1005 : C
1006 : C ZONE_COHESIVE
1007 : C
1008 : JGM=2
1009 : SEGINI MLMOTS
1010 : MOOBL=MLMOTS
1011 : MOTS(1)='KS'
1012 : MOTS(2)='KN'
1013 :
1014 : ENDIF
1015 : INMAT=3
1016 : GOTO 20
1017 :
1018 : ELSE
1019 : INMAT=2
1020 : GOTO 10
1021 : ENDIF
1022 : ENDIF
1023 : INMAT=0
1024 : 10 CONTINUE
1025 : *
1026 : * MATERIAU ELASTIQUE ISOTROPE
1027 : *
1028 : IF (MFR.EQ.35) THEN
1029 : * VALABLE EN 2D COMME EN 3D
1030 : JGM=2
1031 : SEGINI MLMOTS
1032 : MOOBL=MLMOTS
1033 : MOTS(1)='KS '
1034 : MOTS(2)='KN '
1035 : *
1036 : *
1037 : JGM=2
1038 : SEGINI MLMOTS
1039 : MOFAC=MLMOTS
1040 : MOTS(1)='RHO '
1041 : MOTS(2)='ALPN'
1042 : *
1043 : *
1044 : * JOINT CISAILLEMENT (2D)
1045 : *
1046 : ELSEIF (MFR.EQ.53) THEN
1047 : * VALABLE EN 2D "COMME EN 3D"
1048 :
1049 : JGM=1
1050 : SEGINI MLMOTS
1051 : MOOBL=MLMOTS
1052 : MOTS(1)='KS '
1053 : *
1054 : JGM=2
1055 : SEGINI MLMOTS
1056 : MOFAC=MLMOTS
1057 : MOTS(1)='RHO '
1058 : MOTS(2)='ALPN'
1059 : *
1060 : * TOUS LES AUTRES CAS
1061 : *
1062 : ELSE
1063 : JGM=2
1064 : SEGINI MLMOTS
1065 : MOOBL=MLMOTS
1066 :
1067 : MOTS(1)='YOUN'
1068 : MOTS(2)='NU '
1069 : *
1070 : IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.63).AND.
1071 : . IFOUR.EQ.-2) THEN
1072 : JGM=4
1073 : ELSE
1074 : JGM=3
1075 : ENDIF
1076 : C
1077 : C JGM = JGM + 1
1078 : C
1079 : *
1080 : SEGINI MLMOTS
1081 : MOFAC=MLMOTS
1082 : MOTS(1)='RHO '
1083 : MOTS(2)='ALPH'
1084 : IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.63).AND.
1085 : . IFOUR.EQ.-2) THEN
1086 : MOTS(3)='DIM3'
1087 : MOTS(4)='VISQ'
1088 : ELSE
1089 : MOTS(3)='VISQ'
1090 : ENDIF
1091 : ENDIF
1092 : *
1093 : IF (INMAT.EQ.0) GOTO 9999
1094 : *
1095 : 19 CONTINUE
1096 : 20 CONTINUE
1097 : DO jm = 1,matmod(/2)
1098 : IF (matmod(jm).eq.'IMPEDANCE') THEN
1099 : imate = imatee
1100 : * if (imate.eq.0) goto 99
1101 : JGM = 0
1102 : SEGINI MLMOTS
1103 : MOOBL = MLMOTS
1104 : JGM = 0
1105 : SEGINI MLMOTS
1106 : MOFAC = MLMOTS
1107 : IF (imate.eq.31) THEN
1108 : *IMPE_ELAS
1109 : MLMOTS = MOOBL
1110 : JGM0 = MOTS(/2)
1111 : JGM = JGM0+1
1112 : SEGADJ MLMOTS
1113 : MOTS(JGM0 + 1) ='RAID'
1114 : MLMOTS = MOFAC
1115 : JGM0 = MOTS(/2)
1116 : JGM = JGM0+2
1117 : SEGADJ MLMOTS
1118 : MOTS(JGM0+1) = 'MASS'
1119 : MOTS(JGM0+2) = 'AMOR'
1120 : GOTO 22
1121 : ELSEIF (imate.eq.32.or.imate.eq.33) THEN
1122 : *IMPE_VOIGT ou IMPE_MAXW
1123 : MLMOTS = MOOBL
1124 : JGM0 = MOTS(/2)
1125 : JGM = JGM0+2
1126 : SEGADJ MLMOTS
1127 : MOTS(JGM0 + 1) ='RAID'
1128 : MOTS(JGM0 + 2) ='VISC'
1129 : MLMOTS = MOFAC
1130 : JGM0 = MOTS(/2)
1131 : JGM = JGM0+2
1132 : SEGADJ MLMOTS
1133 : MOTS(JGM0+1) = 'MASS'
1134 : MOTS(JGM0+2) = 'AMOR'
1135 : GOTO 22
1136 : ELSEIF (imate.eq.34) then
1137 : *IMPE_COMPLEXE
1138 : MLMOTS = MOOBL
1139 : JGM0 = MOTS(/2)
1140 : JGM = MOTS(/2)+1
1141 : SEGADJ MLMOTS
1142 : MOTS(JGM0 + 1) ='MOCO'
1143 : MLMOTS = MOFAC
1144 : JGM0 = MOTS(/2)
1145 : JGM = MOTS(/2)+3
1146 : SEGADJ MLMOTS
1147 : MOTS(JGM0+1) = 'RAID'
1148 : MOTS(JGM0+2) = 'AMOR'
1149 : MOTS(JGM0+3) = 'MASS'
1150 : GOTO 22
1151 : ELSE
1152 : ENDIF
1153 : 22 CONTINUE
1154 : if (mele.eq.29) then
1155 : MLMOTS = MOOBL
1156 : JGM0 = MOTS(/2)
1157 : JGM = MOTS(/2)+1
1158 : SEGADJ MLMOTS
1159 : MOTS(JGM0+1) = 'CPLE'
1160 : MLMOTS = MOFAC
1161 : JGM0 = MOTS(/2)
1162 : JGM = MOTS(/2)+2
1163 : SEGADJ MLMOTS
1164 : MOTS(JGM0+1) = 'INER'
1165 : MOTS(JGM0+2) = 'AROT'
1166 : endif
1167 : GOTO 9999
1168 : ENDIF
1169 : ENDDO
1170 : *
1171 : IF (NMAT.GE.INMAT) THEN
1171 : CALL MODNLI(MOMODL,NMOD)
1171 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1172 : IF (IPLAC.EQ.1) THEN
1173 : INMAT=INMAT+1
1173 : CALL MODPLA(MOMODL,NMOD)
1173 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1174 : IF (IPLAC.EQ.0) THEN
1175 : * ISOTROPE
1176 : IPLAC=1
1177 : * ELSE
1178 : * INMAT=INMAT+1
1179 : ENDIF
1179 : CALL IDPLAS(MFR,MOOBL,MOFAC,IPLAC,IRET)
1180 : ELSEIF (IPLAC.EQ.2) THEN
1181 : INMAT=INMAT+1
1181 : CALL MODFLU(MOMODL,NMOD)
1181 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1182 : IF (IPLAC.EQ.0) THEN
1183 : * NORTON
1184 : IPLAC=1
1185 : * ELSE
1186 : * INMAT=INMAT+1
1187 : ENDIF
1187 : CALL IDFLUA(MFR,MOOBL,MOFAC,IPLAC,IRET)
1188 : ELSEIF (IPLAC.EQ.3) THEN
1189 : INMAT=INMAT+1
1189 : CALL MODVIS(MOMODL,NMOD)
1189 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1190 : IF (IPLAC.EQ.0) THEN
1191 : * CHABOCHE
1192 : IPLAC=2
1193 : * ELSE
1194 : * INMAT=INMAT+1
1195 : ENDIF
1196 : C
1197 : C Cas particulier des modeles GATT_MONERIE et UO2
1198 : C 'RHO ' et 'ALPH' sont obligatoires
1199 : C
1200 : C
1201 : IF (IPLAC.EQ.18.OR.IPLAC.EQ.19) THEN
1202 : MLMOTS=MOOBL
1203 : JGA=MOTS(/2)
1204 : JGM=JGA+2
1205 : SEGADJ MLMOTS
1206 : MOTS(JGA+1)='RHO '
1207 : MOTS(JGA+2)='ALPH'
1208 : MLMOTS=MOFAC
1209 : JGA=MOTS(/2)
1210 : JGM=JGA-2
1211 : IF (JGM.GT.0) THEN
1212 : DO 200 I=1,JGM
1213 : MOTS(I)=MOTS(I+2)
1214 : 200 CONTINUE
1215 : ENDIF
1216 : SEGADJ MLMOTS
1217 : C ===
1218 : C Modeles SYMONDS & COWPER SYCO1 et SYCO2
1219 : C ===
1220 : ELSEIF (IPLAC.EQ.28) THEN
1221 : MLMOTS=MOOBL
1222 : JGA=MOTS(/2)
1223 : JGM=JGA+1
1224 : SEGADJ MLMOTS
1225 : MOTS(JGA+1)='TRAC'
1226 : SEGADJ MLMOTS
1227 :
1228 : ELSEIF (IPLAC.EQ.29) THEN
1229 : MLMOTS=MOOBL
1230 : JGA=MOTS(/2)
1231 : JGM=JGA+1
1232 : SEGADJ MLMOTS
1233 : MOTS(JGA+1)='TRAC'
1234 : SEGADJ MLMOTS
1235 : ENDIF
1235 : CALL IDVISC(MFR,MOOBL,MOFAC,IPLAC,IRET)
1236 : C
1237 : ELSEIF (IPLAC.EQ.4) THEN
1238 : INMAT=INMAT+1
1238 : CALL MODEND(MOMODL,NMOD)
1238 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1239 : IF (IPLAC.EQ.0) THEN
1240 : * MAZARS
1241 : IPLAC=1
1242 : * ELSE
1243 : * INMAT=INMAT+1
1244 : ENDIF
1244 : CALL IDENDO(MFR,MOOBL,MOFAC,IPLAC,IRET)
1245 : ELSEIF (IPLAC.EQ.5) THEN
1246 : INMAT=INMAT+1
1246 : CALL MODPLE(MOMODL,NMOD)
1246 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1247 : IF (IPLAC.EQ.0) THEN
1248 : * TRIAXIAL P/Y
1249 : IPLAC=1
1250 : * ELSE
1251 : * INMAT=INMAT+1
1252 : ENDIF
1252 : CALL IDPLEN(MFR,MOOBL,MOFAC,IPLAC,IRET)
1253 : ELSEIF (IPLAC.EQ.6) THEN
1254 : INMAT=INMAT+1
1254 : CALL MODENL(MOMODL,NMOD)
1254 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1255 : IF (IPLAC.EQ.0) THEN
1256 : * ISOTROPE
1257 : IPLAC=1
1258 : * ELSE
1259 : * INMAT=INMAT+1
1260 : ENDIF
1260 : CALL IDELNL(MFR,MOOBL,MOFAC,IPLAC,IRET)
1261 : ELSEIF (IPLAC.EQ.7) THEN
1262 : C Pas de composantes supplementaires pour une loi 'VISCO_EXTERNE'
1263 : IRET = 1
1264 : ELSE
1265 : GOTO 99
1266 : ENDIF
1267 : C IRET code retour de IDPLAS,IDFLUA,IDVISC,IDENDO,IDPLEN,IDELNL
1268 : C
1269 : IF (IRET.EQ.0) GOTO 99
1270 : *
1271 : * En cas de creation de materiaux combinant plusieurs materiaux
1272 : * deja existant Ex ELASTIQUE ISOTROPE PLASTIQUE PARFAIT FLUAGE N
1273 : * GOTO 20
1274 : *
1275 : GOTO 9999
1276 : ENDIF
1277 : GOTO 9999
1278 : ENDIF
1279 : *--------------------------------------------------------------------
1280 : * CAS DE LA FORMULATION POREUX
1281 : *--------------------------------------------------------------------
1281 : CALL PLACE(FORMOD,NFOR,ICONV,'POREUX')
1282 : IF (ICONV.NE.0) THEN
1283 : *
1283 : CALL MODLIN(MOMODL,NMOD)
1283 : CALL PLACE(MOMODL,NMOD,ICONV,MATMOD(1))
1284 : IF (ICONV.EQ.0) GOTO 99
1285 : *
1286 : * D'ABORD : CAS NON ISOTROPE
1287 : *
1288 : IF (NMAT.GE.2) THEN
1288 : CALL MODELA(MOMODL,NMOD)
1288 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(2))
1289 : IF (IPLAC.NE.0) THEN
1290 : INMAT=3
1291 : IF (IPLAC.EQ.1) THEN
1292 : INMAT=3
1293 : GOTO 30
1294 : ENDIF
1295 : IF (IPLAC.EQ.2) THEN
1296 : *
1297 : * MATERIAU ELASTIQUE ORTHOTROPE
1298 : *
1299 : IF (MFR.EQ.33) THEN
1300 : *
1301 : * ELEMENTS MASSIFS
1302 : *
1303 : IF(IDIM.EQ.3)THEN
1304 : * ELEMENTS 3D
1305 : JGM=19
1306 : SEGINI MLMOTS
1307 : MOOBL=MLMOTS
1308 : MOTS(1)='YG1 '
1309 : MOTS(2)='YG2 '
1310 : MOTS(3)='YG3 '
1311 : MOTS(4)='NU12'
1312 : MOTS(5)='NU23'
1313 : MOTS(6)='NU13'
1314 : MOTS(7)='G12 '
1315 : MOTS(8)='G23 '
1316 : MOTS(9)='G13 '
1317 : MOTS(10)='V1X '
1318 : MOTS(11)='V1Y '
1319 : MOTS(12)='V1Z '
1320 : MOTS(13)='V2X '
1321 : MOTS(14)='V2Y '
1322 : MOTS(15)='V2Z '
1323 : MOTS(16)='COB1'
1324 : MOTS(17)='COB2'
1325 : MOTS(18)='COB3'
1326 : MOTS(19)='MOB '
1327 : *
1328 : JGM=12
1329 : SEGINI MLMOTS
1330 : MOFAC=MLMOTS
1331 : MOTS(1)='RHO '
1332 : MOTS(2)='ALP1'
1333 : MOTS(3)='ALP2'
1334 : MOTS(4)='ALP3'
1335 : MOTS(5)='ALPM'
1336 : MOTS(6)='PER1'
1337 : MOTS(7)='PER2'
1338 : MOTS(8)='PER3'
1339 : MOTS(9)='VISC'
1340 : MOTS(10)='KF '
1341 : MOTS(11)='RHOF'
1342 : MOTS(12)='ALPF'
1343 : ELSEIF (IDIM.EQ.2) THEN
1344 : IF(IFOUR.EQ.-2)THEN
1345 : * CONTRAINTE PLANE
1346 : JGM=12
1347 : SEGINI MLMOTS
1348 : MOOBL=MLMOTS
1349 : MOTS(1)='YG1 '
1350 : MOTS(2)='YG2 '
1351 : MOTS(3)='NU12'
1352 : MOTS(4)='G12 '
1353 : MOTS(5)='V1X '
1354 : MOTS(6)='V1Y '
1355 : MOTS(7)='COB1'
1356 : MOTS(8)='COB2'
1357 : MOTS(9)='MOB '
1358 : MOTS(10)='YG3 '
1359 : MOTS(11)='NU23'
1360 : MOTS(12)='NU13'
1361 : *
1362 : JGM=11
1363 : SEGINI MLMOTS
1364 : MOFAC=MLMOTS
1365 : MOTS(1)='RHO '
1366 : MOTS(2)='ALP1'
1367 : MOTS(3)='ALP2'
1368 : MOTS(4)='ALPM'
1369 : MOTS(5)='PER1'
1370 : MOTS(6)='PER2'
1371 : MOTS(7)='VISC'
1372 : MOTS(8)='KF '
1373 : MOTS(9)='RHOF'
1374 : MOTS(10)='ALPF'
1375 : MOTS(11)='DIM3'
1376 : ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
1377 : * DEFORMATION PLANE ,AXISYMETRIE
1378 : JGM=13
1379 : SEGINI MLMOTS
1380 : MOOBL=MLMOTS
1381 : MOTS(1)='YG1 '
1382 : MOTS(2)='YG2 '
1383 : MOTS(3)='YG3 '
1384 : MOTS(4)='NU12'
1385 : MOTS(5)='NU23'
1386 : MOTS(6)='NU13'
1387 : MOTS(7)='G12 '
1388 : MOTS(8)='V1X '
1389 : MOTS(9)='V1Y '
1390 : MOTS(10)='COB1'
1391 : MOTS(11)='COB2'
1392 : MOTS(12)='COB3'
1393 : MOTS(13)='MOB '
1394 : *
1395 : JGM=11
1396 : SEGINI MLMOTS
1397 : MOFAC=MLMOTS
1398 : MOTS(1)='RHO '
1399 : MOTS(2)='ALP1'
1400 : MOTS(3)='ALP2'
1401 : MOTS(4)='ALP3'
1402 : MOTS(5)='ALPM'
1403 : MOTS(6)='PER1'
1404 : MOTS(7)='PER2'
1405 : MOTS(8)='VISC'
1406 : MOTS(9)='KF '
1407 : MOTS(10)='RHOF'
1408 : MOTS(11)='ALPF'
1409 : *
1410 : ELSEIF (IFOUR.EQ.1) THEN
1411 : * AXISYMETRIE DE FOURIER
1412 : JGM=15
1413 : SEGINI MLMOTS
1414 : MOOBL=MLMOTS
1415 : MOTS(1)='YG1 '
1416 : MOTS(2)='YG2 '
1417 : MOTS(3)='YG3 '
1418 : MOTS(4)='NU12'
1419 : MOTS(5)='NU23'
1420 : MOTS(6)='NU13'
1421 : MOTS(7)='G12 '
1422 : MOTS(8)='G23 '
1423 : MOTS(9)='G13 '
1424 : MOTS(10)='V1X '
1425 : MOTS(11)='V1Y '
1426 : MOTS(12)='COB1'
1427 : MOTS(13)='COB2'
1428 : MOTS(14)='COB3'
1429 : MOTS(15)='MOB '
1430 : *
1431 : JGM=12
1432 : SEGINI MLMOTS
1433 : MOFAC=MLMOTS
1434 : MOTS(1)='RHO '
1435 : MOTS(2)='ALP1'
1436 : MOTS(3)='ALP2'
1437 : MOTS(4)='ALP3'
1438 : MOTS(5)='ALPM'
1439 : MOTS(6)='PER1'
1440 : MOTS(7)='PER2'
1441 : MOTS(8)='PER3'
1442 : MOTS(9)='VISC'
1443 : MOTS(10)='KF '
1444 : MOTS(11)='RHOF'
1445 : MOTS(12)='ALPF'
1446 : ENDIF
1447 : ENDIF
1448 : ELSE
1449 : *
1450 : * CAS NON PREVU
1451 : *
1452 : IRET=0
1453 : GO TO 99
1454 : ENDIF
1455 : ELSEIF (IPLAC.EQ.3)THEN
1456 : *
1457 : * MATERIAU ANISOTROPE ELASTIQUE
1458 : *
1459 : IF(MFR.EQ.33)THEN
1460 : *
1461 : * ELEMENTS MASSIFS
1462 : *
1463 : IF(IDIM.EQ.3)THEN
1464 : * ELEMENTS 3D
1465 : JGM=34
1466 : SEGINI MLMOTS
1467 : MOOBL=MLMOTS
1468 : MOTS(1)='D11 '
1469 : MOTS(2)='D21 '
1470 : MOTS(3)='D22 '
1471 : MOTS(4)='D31 '
1472 : MOTS(5)='D32 '
1473 : MOTS(6)='D33 '
1474 : MOTS(7)='D41 '
1475 : MOTS(8)='D42 '
1476 : MOTS(9)='D43 '
1477 : MOTS(10)='D44 '
1478 : MOTS(11)='D51 '
1479 : MOTS(12)='D52 '
1480 : MOTS(13)='D53 '
1481 : MOTS(14)='D54 '
1482 : MOTS(15)='D55 '
1483 : MOTS(16)='D61 '
1484 : MOTS(17)='D62 '
1485 : MOTS(18)='D63 '
1486 : MOTS(19)='D64 '
1487 : MOTS(20)='D65 '
1488 : MOTS(21)='D66 '
1489 : MOTS(22)='V1X '
1490 : MOTS(23)='V1Y '
1491 : MOTS(24)='V1Z '
1492 : MOTS(25)='V2X '
1493 : MOTS(26)='V2Y '
1494 : MOTS(27)='V2Z '
1495 : MOTS(28)='COB1'
1496 : MOTS(29)='COB2'
1497 : MOTS(30)='COB3'
1498 : MOTS(31)='CO12'
1499 : MOTS(32)='CO13'
1500 : MOTS(33)='CO23'
1501 : MOTS(34)='MOB '
1502 : *
1503 : JGM=18
1504 : SEGINI MLMOTS
1505 : MOFAC=MLMOTS
1506 : MOTS(1)='RHO '
1507 : MOTS(2)='ALP1'
1508 : MOTS(3)='ALP2'
1509 : MOTS(4)='ALP3'
1510 : MOTS(5)='AL12'
1511 : MOTS(6)='AL13'
1512 : MOTS(7)='AL23'
1513 : MOTS(8)='ALPM'
1514 : MOTS(9 )='PER1'
1515 : MOTS(10)='PER2'
1516 : MOTS(11)='PER3'
1517 : MOTS(12)='PE12'
1518 : MOTS(13)='PE13'
1519 : MOTS(14)='PE23'
1520 : MOTS(15)='VISC'
1521 : MOTS(16)='KF '
1522 : MOTS(17)='RHOF'
1523 : MOTS(18)='ALPF'
1524 : ELSEIF (IDIM.EQ.2) THEN
1525 : IF (IFOUR.EQ.-2) THEN
1526 : * CONTRAINTE PLANE
1527 : JGM=16
1528 : SEGINI MLMOTS
1529 : MOOBL=MLMOTS
1530 : MOTS(1)='D11 '
1531 : MOTS(2)='D21 '
1532 : MOTS(3)='D22 '
1533 : MOTS(4)='D41 '
1534 : MOTS(5)='D42 '
1535 : MOTS(6)='D44 '
1536 : MOTS(7)='V1X '
1537 : MOTS(8)='V1Y '
1538 : MOTS(9 )='COB1'
1539 : MOTS(10)='COB2'
1540 : MOTS(11)='CO12'
1541 : MOTS(12)='MOB '
1542 : MOTS(13)='D31 '
1543 : MOTS(14)='D32 '
1544 : MOTS(15)='D33 '
1545 : MOTS(16)='D43 '
1546 :
1547 : *
1548 : JGM=13
1549 : SEGINI MLMOTS
1550 : MOFAC=MLMOTS
1551 : MOTS(1)='RHO '
1552 : MOTS(2)='ALP1'
1553 : MOTS(3)='ALP2'
1554 : MOTS(4)='AL12'
1555 : MOTS(5)='ALPM'
1556 : MOTS(6)='PER1'
1557 : MOTS(7)='PER2'
1558 : MOTS(8)='PE12'
1559 : MOTS(9)='VISC'
1560 : MOTS(10)='KF '
1561 : MOTS(11)='RHOF'
1562 : MOTS(12)='ALPF'
1563 : MOTS(13)='DIM3'
1564 : *
1565 : ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
1566 : * DEFORMATION PLANE ,AXISYMETRIE
1567 : JGM=17
1568 : SEGINI MLMOTS
1569 : MOOBL=MLMOTS
1570 : MOTS(1)='D11 '
1571 : MOTS(2)='D21 '
1572 : MOTS(3)='D22 '
1573 : MOTS(4)='D31 '
1574 : MOTS(5)='D32 '
1575 : MOTS(6)='D33 '
1576 : MOTS(7)='D41 '
1577 : MOTS(8)='D42 '
1578 : MOTS(9)='D43 '
1579 : MOTS(10)='D44 '
1580 : MOTS(11)='V1X '
1581 : MOTS(12)='V1Y '
1582 : MOTS(13)='COB1'
1583 : MOTS(14)='COB2'
1584 : MOTS(15)='CO12'
1585 : MOTS(16)='COB3'
1586 : MOTS(17)='MOB '
1587 : *
1588 : JGM=13
1589 : SEGINI MLMOTS
1590 : MOFAC=MLMOTS
1591 : MOTS(1)='RHO '
1592 : MOTS(2)='ALP1'
1593 : MOTS(3)='ALP2'
1594 : MOTS(4)='AL12'
1595 : MOTS(5)='ALP3'
1596 : MOTS(6)='ALPM'
1597 : MOTS(7)='PER1'
1598 : MOTS(8)='PER2'
1599 : MOTS(9)='PE12'
1600 : MOTS(10)='VISC'
1601 : MOTS(11)='KF '
1602 : MOTS(12)='RHOF'
1603 : MOTS(13)='ALPF'
1604 : *
1605 : ELSEIF (IFOUR.EQ.1) THEN
1606 : * AXISYMETRIE DE FOURIER
1607 : JGM=20
1608 : SEGINI MLMOTS
1609 : MOOBL=MLMOTS
1610 : MOTS(1)='D11 '
1611 : MOTS(2)='D21 '
1612 : MOTS(3)='D22 '
1613 : MOTS(4)='D31 '
1614 : MOTS(5)='D32 '
1615 : MOTS(6)='D33 '
1616 : MOTS(7)='D41 '
1617 : MOTS(8)='D42 '
1618 : MOTS(9)='D43 '
1619 : MOTS(10)='D44 '
1620 : MOTS(11)='D55 '
1621 : MOTS(12)='D65 '
1622 : MOTS(13)='D66 '
1623 : MOTS(14)='V1X '
1624 : MOTS(15)='V1Y '
1625 : MOTS(16)='COB1'
1626 : MOTS(17)='COB2'
1627 : MOTS(18)='CO12'
1628 : MOTS(19)='COB3'
1629 : MOTS(20)='MOB '
1630 : *
1631 : JGM=14
1632 : SEGINI MLMOTS
1633 : MOFAC=MLMOTS
1634 : MOTS(1)='RHO '
1635 : MOTS(2)='ALP1'
1636 : MOTS(3)='ALP2'
1637 : MOTS(4)='AL12'
1638 : MOTS(5)='ALP3'
1639 : MOTS(6)='ALPM'
1640 : MOTS(7)='PER1'
1641 : MOTS(8)='PER2'
1642 : MOTS(9)='PE12'
1643 : MOTS(10)='PER3'
1644 : MOTS(11)='VISC'
1645 : MOTS(12)='KF '
1646 : MOTS(13)='RHOF'
1647 : MOTS(14)='ALPF'
1648 : ENDIF
1649 : ENDIF
1650 : ELSE
1651 : *
1652 : * CAS NON PREVU
1653 : *
1654 : IRET=0
1655 : GO TO 99
1656 : ENDIF
1657 : ELSEIF (IPLAC.EQ.6) THEN
1658 : C
1659 : C MATERIAU ELASTIQUE UNIDIRECTIONNEL
1660 : C
1661 : IF(MFR.EQ.33)THEN
1662 : IF (IDIM.EQ.3) THEN
1663 : JGM=9
1664 : SEGINI MLMOTS
1665 : MOOBL=MLMOTS
1666 : MOTS(1)='YOUN'
1667 : MOTS(2)='V1X '
1668 : MOTS(3)='V1Y '
1669 : MOTS(4)='V1Z '
1670 : MOTS(5)='V2X '
1671 : MOTS(6)='V2Y '
1672 : MOTS(7)='V2Z '
1673 : MOTS(8)='COB '
1674 : MOTS(9)='MOB '
1675 : ELSE
1676 : JGM=5
1677 : SEGINI MLMOTS
1678 : MOOBL=MLMOTS
1679 : MOTS(1)='YOUN'
1680 : MOTS(2)='V1X '
1681 : MOTS(3)='V1Y '
1682 : MOTS(4)='COB '
1683 : MOTS(5)='MOB '
1684 : ENDIF
1685 : *
1686 : IF(IFOUR.EQ.-2) THEN
1687 : JGM=9
1688 : ELSE
1689 : JGM=8
1690 : ENDIF
1691 : SEGINI MLMOTS
1692 : MOFAC=MLMOTS
1693 : MOTS(1)='RHO '
1694 : MOTS(2)='ALPH'
1695 : MOTS(3)='ALPM'
1696 : MOTS(4)='PERM'
1697 : MOTS(5)='VISC'
1698 : MOTS(6)='KF '
1699 : MOTS(7)='RHOF'
1700 : MOTS(8)='ALPF'
1701 : IF(IFOUR.EQ.-2) MOTS(9)='DIM3'
1702 : ELSE
1703 : *
1704 : * CAS NON PREVU
1705 : *
1706 : IRET=0
1707 : GO TO 99
1708 : ENDIF
1709 : *
1710 : ENDIF
1711 : INMAT=3
1712 : GOTO 40
1713 : ELSE
1714 : INMAT=2
1715 : GOTO 30
1716 : ENDIF
1717 : ENDIF
1718 : INMAT=0
1719 : 30 CONTINUE
1720 : *
1721 : * CAS MATERIAU POREUX ELASTIQUE ISOTROPE
1722 : *
1723 : IF(MELE.GE.79.AND.MELE.LE.83)THEN
1724 : *
1725 : JGM=4
1726 : SEGINI MLMOTS
1727 : MOOBL=MLMOTS
1728 : MOTS(1) ='YOUN'
1729 : MOTS(2) ='NU '
1730 : MOTS(3) ='COB '
1731 : MOTS(4) ='MOB '
1732 : *
1733 : IF(IFOUR.EQ.-2) THEN
1734 : JGM=9
1735 : ELSE
1736 : JGM=8
1737 : ENDIF
1738 : SEGINI MLMOTS
1739 : MOFAC=MLMOTS
1740 : MOTS(1)='RHOF'
1741 : MOTS(2)='ALPF'
1742 : MOTS(3)='ALPM'
1743 : MOTS(4)='PERM'
1744 : MOTS(5)='VISC'
1745 : MOTS(6)='KF '
1746 : MOTS(7)='RHO '
1747 : MOTS(8)='ALPH'
1748 : IF(IFOUR.EQ.-2) MOTS(9)='DIM3'
1749 : *
1750 : ELSEIF(MELE.GE.108.AND.MELE.LE.110)THEN
1751 : *
1752 : * CAS DES JOINTS POREUX ISOTROPES (VALABLE EN 2D COMME EN 3D)
1753 : *
1754 : JGM=4
1755 : SEGINI MLMOTS
1756 : MOOBL=MLMOTS
1757 : MOTS(1)='KS '
1758 : MOTS(2)='KN '
1759 : MOTS(3)='COB '
1760 : MOTS(4)='MOB '
1761 : *
1762 : JGM=4
1763 : SEGINI MLMOTS
1764 : MOFAC=MLMOTS
1765 : MOTS(1)='PERT'
1766 : MOTS(2)='PERH'
1767 : MOTS(3)='PERB'
1768 : MOTS(4)='VISC'
1769 : *
1770 : ELSEIF(MELE.GE.173.AND.MELE.LE.177)THEN
1771 : *
1772 : JGM=10
1773 : SEGINI MLMOTS
1774 : MOOBL=MLMOTS
1775 : MOTS(1) ='YOUN'
1776 : MOTS(2) ='NU '
1777 : MOTS(3) ='COP1'
1778 : MOTS(4) ='COP2'
1779 : MOTS(5) ='CPP1'
1780 : MOTS(6) ='CPP2'
1781 : MOTS(7) ='KK11'
1782 : MOTS(8) ='KK12'
1783 : MOTS(9) ='KK21'
1784 : MOTS(10)='KK22'
1785 : *
1786 : IF(IFOUR.EQ.-2) THEN
1787 : JGM=9
1788 : ELSE
1789 : JGM=8
1790 : ENDIF
1791 : SEGINI MLMOTS
1792 : MOFAC=MLMOTS
1793 : MOTS(1)='RHOF'
1794 : MOTS(2)='ALPF'
1795 : MOTS(3)='ALPM'
1796 : MOTS(4)='PK11'
1797 : MOTS(5)='PK12'
1798 : MOTS(6)='PK21'
1799 : MOTS(7)='PK22'
1800 : MOTS(8)='ALPH'
1801 : IF(IFOUR.EQ.-2) MOTS(9)='DIM3'
1802 : *
1803 : ELSEIF(MELE.GE.185.AND.MELE.LE.187)THEN
1804 : *
1805 : * CAS DES JOINTS POREUX ISOTROPES (VALABLE EN 2D COMME EN 3D)
1806 : *
1807 : JGM=4
1808 : SEGINI MLMOTS
1809 : MOOBL=MLMOTS
1810 : MOTS(1)='KS '
1811 : MOTS(2)='KN '
1812 : MOTS(3)='COB '
1813 : MOTS(4)='MOB '
1814 : *
1815 : JGM=4
1816 : SEGINI MLMOTS
1817 : MOFAC=MLMOTS
1818 : MOTS(1)='PERT'
1819 : MOTS(2)='PERH'
1820 : MOTS(3)='PERB'
1821 : MOTS(4)='VISC'
1822 : *
1823 : ELSEIF(MELE.GE.178.AND.MELE.LE.182)THEN
1824 : *
1825 : JGM=17
1826 : SEGINI MLMOTS
1827 : MOOBL=MLMOTS
1828 : MOTS(1)='YOUN'
1829 : MOTS(2)='NU '
1830 : MOTS(3)='COP1'
1831 : MOTS(4)='COP2'
1832 : MOTS(5)='COP3'
1833 : MOTS(6)='CPP1'
1834 : MOTS(7)='CPP2'
1835 : MOTS(8)='CPP3'
1836 : MOTS(9)='KK11'
1837 : MOTS(10)='KK12'
1838 : MOTS(11)='KK13'
1839 : MOTS(12)='KK21'
1840 : MOTS(13)='KK22'
1841 : MOTS(14)='KK23'
1842 : MOTS(15)='KK31'
1843 : MOTS(16)='KK32'
1844 : MOTS(17)='KK33'
1845 : *
1846 : IF(IFOUR.EQ.-2) THEN
1847 : JGM=15
1848 : ELSE
1849 : JGM=14
1850 : ENDIF
1851 : SEGINI MLMOTS
1852 : MOFAC=MLMOTS
1853 : MOTS(1)='RHOF'
1854 : MOTS(2)='ALPF'
1855 : MOTS(3)='ALPM'
1856 : MOTS(4)='PK11'
1857 : MOTS(5)='PK12'
1858 : MOTS(6)='PK13'
1859 : MOTS(7)='PK21'
1860 : MOTS(8)='PK22'
1861 : MOTS(9)='PK23'
1862 : MOTS(10)='PK31'
1863 : MOTS(11)='PK32'
1864 : MOTS(12)='PK33'
1865 : MOTS(13)='RHO '
1866 : MOTS(14)='ALPH'
1867 : IF(IFOUR.EQ.-2) MOTS(15)='DIM3'
1868 : *
1869 : ELSEIF(MELE.GE.188.AND.MELE.LE.190)THEN
1870 : *
1871 : * CAS DES JOINTS POREUX ISOTROPES (VALABLE EN 2D COMME EN 3D)
1872 : *
1873 : JGM=4
1874 : SEGINI MLMOTS
1875 : MOOBL=MLMOTS
1876 : MOTS(1)='KS '
1877 : MOTS(2)='KN '
1878 : MOTS(3)='COB '
1879 : MOTS(4)='MOB '
1880 : *
1881 : JGM=4
1882 : SEGINI MLMOTS
1883 : MOFAC=MLMOTS
1884 : MOTS(1)='PERT'
1885 : MOTS(2)='PERH'
1886 : MOTS(3)='PERB'
1887 : MOTS(4)='VISC'
1888 : *
1889 : *
1890 : ENDIF
1891 : *
1892 : IF (INMAT.EQ.0) GOTO 9999
1893 : *
1894 : 40 CONTINUE
1895 : IF (NMAT.GE.INMAT) THEN
1895 : CALL MODNLI(MOMODL,NMOD)
1895 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1896 : IF (IPLAC.EQ.1) THEN
1897 : INMAT=INMAT+1
1897 : CALL MODPLA(MOMODL,NMOD)
1897 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1898 : IF (IPLAC.EQ.0) THEN
1899 : * ISOTROPE
1900 : IPLAC=1
1901 : * ELSE
1902 : * INMAT=INMAT+1
1903 : ENDIF
1903 : CALL IDPLAS(MFR,MOOBL,MOFAC,IPLAC,IRET)
1904 : IF (IRET.EQ.0) GOTO 99
1905 : ELSEIF (IPLAC.EQ.2) THEN
1906 : INMAT=INMAT+1
1906 : CALL MODFLU(MOMODL,NMOD)
1906 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1907 : IF (IPLAC.EQ.0) THEN
1908 : * NORTON
1909 : IPLAC=1
1910 : * ELSE
1911 : * INMAT=INMAT+1
1912 : ENDIF
1912 : CALL IDFLUA(MFR,MOOBL,MOFAC,IPLAC,IRET)
1913 : IF (IRET.EQ.0) GOTO 99
1914 : ELSEIF (IPLAC.EQ.3) THEN
1915 : INMAT=INMAT+1
1915 : CALL MODVIS(MOMODL,NMOD)
1915 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1916 : IF (IPLAC.EQ.0) THEN
1917 : * CHABOCHE
1918 : IPLAC=2
1919 : * ELSE
1920 : * INMAT=INMAT+1
1921 : ENDIF
1921 : CALL IDVISC(MFR,MOOBL,MOFAC,IPLAC,IRET)
1922 : IF (IRET.EQ.0) GOTO 99
1923 : ELSEIF (IPLAC.EQ.4) THEN
1924 : INMAT=INMAT+1
1924 : CALL MODEND(MOMODL,NMOD)
1924 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
1925 : IF (IPLAC.EQ.0) THEN
1926 : * MAZARS
1927 : IPLAC=1
1928 : * ELSE
1929 : * INMAT=INMAT+1
1930 : ENDIF
1930 : CALL IDENDO(MFR,MOOBL,MOFAC,IPLAC,IRET)
1931 : IF (IRET.EQ.0) GOTO 99
1932 : ELSE
1933 : GOTO 99
1934 : ENDIF
1935 : *
1936 : * En cas de creation de materiaux combinant plusieurs materiaux
1937 : * deja existant Ex ELASTIQUE ISOTROPE PLASTIQUE PARFAIT FLUAGE N
1938 : * GOTO 40
1939 : *
1940 : GOTO 9999
1941 : ENDIF
1942 : GOTO 9999
1943 : ENDIF
1944 : *--------------------------------------------------------------------
1945 : * CAS DE LA FORMULATION FROTTEMENT
1946 : *--------------------------------------------------------------------
1946 : CALL PLACE(FORMOD,NFOR,ICONV,'CONTACT')
1947 : IF (ICONV.NE.0) THEN
1948 : *
1949 : INMAT=0
1950 : iplla=0
1950 : CALL MODFRO(MOMODL,NMOD)
1951 : do iou=1,matmod(/2)
1951 : CALL PLACE(MOMODL(4),2,IPLAC,MATMOD(iou))
1952 : iplla=max( iplac,iplla)
1953 : enddo
1954 : IF(IPlla.EQ.0) GO TO 99
1954 : CALL IDFRO(MOOBL,MOFAC,IPlla,IRET)
1955 : IF (IRET.EQ.0) GOTO 99
1956 : *
1957 : GOTO 9999
1958 : ENDIF
1959 : *--------------------------------------------------------------------
1960 : * CAS DE LA FORMULATION RAYONNEMENT
1961 : *--------------------------------------------------------------------
1961 : CALL PLACE(FORMOD,NFOR,ICONV,'RAYONNEMENT')
1962 : IF (ICONV.NE.0) THEN
1963 : *
1964 : IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
1965 : JGM=2
1966 : SEGINI MLMOTS
1967 : MOOBL=MLMOTS
1968 : MOTS(1)='EINF'
1969 : MOTS(2)='ESUP'
1970 : ELSE
1971 : *
1972 : JGM=1
1973 : SEGINI MLMOTS
1974 : MOOBL=MLMOTS
1975 : MOTS(1)='EMIS'
1976 : ENDIF
1977 : *
1978 : GOTO 9999
1979 : ENDIF
1980 : *--------------------------------------------------------------------
1981 : * CAS DE LA FORMULATION MAGNETODYNAMIQUE
1982 : *--------------------------------------------------------------------
1982 : CALL PLACE(FORMOD,NFOR,ICONV,'MAGNETODYNAMIQUE')
1983 : IF (ICONV.NE.0) THEN
1984 : *
1985 : * FORMULATION EN COQUES
1986 : IF(MFR.EQ.3) THEN
1986 : CALL PLACE(MATMOD,NMAT,ISOT,'ISOTROPE')
1987 : IF(ISOT.NE.0) THEN
1988 : JGM=3
1989 : SEGINI MLMOTS
1990 : MOOBL=MLMOTS
1991 : MOTS(1)='ETA'
1992 : MOTS(2)='PERM'
1993 : MOTS(3)='EPAI'
1994 : ELSE
1994 : CALL PLACE(MATMOD,NMAT,IORTH,'ORTHOTROPE')
1995 : IF(IORTH.NE.0) THEN
1996 : JGM=4
1997 : SEGINI MLMOTS
1998 : MOOBL=MLMOTS
1999 : MOTS(1)='ETA1'
2000 : MOTS(2)='ETA2'
2001 : MOTS(3)='PERM'
2002 : MOTS(4)='EPAI'
2003 : ENDIF
2004 : ENDIF
2005 : ENDIF
2006 : *
2007 : GOTO 9999
2008 : ENDIF
2009 : *--------------------------------------------------------------------
2010 : * CAS DE LA FORMULATION FISSURE
2011 : *--------------------------------------------------------------------
2011 : CALL PLACE(FORMOD,NFOR,ICONV,'FISSURE')
2012 : IF (ICONV.NE.0) THEN
2013 : *
2014 : * si POISEU_BLASIUS ou POISEU_COLEBROOK ou par defaut
2015 : JGM=1
2016 : SEGINI MLMOTS
2017 : MOOBL=MLMOTS
2018 : MOTS(1)='RUGO'
2019 : * si FROTTEMENT1 ou FROTTEMENT2
2019 : CALL PLACE(MATMOD,NMAT,IFT1,'FROTTEMENT1')
2019 : CALL PLACE(MATMOD,NMAT,IFT2,'FROTTEMENT2')
2020 : IF(IFT1.NE.0.OR.IFT2.NE.0) THEN
2021 : JGM=7
2022 : SEGINI MLMOTS
2023 : MOOBL=MLMOTS
2024 : MOTS(1)='RUGO'
2025 : MOTS(2)='REC'
2026 : MOTS(3)='FK'
2027 : MOTS(4)='FA'
2028 : MOTS(5)='FB'
2029 : MOTS(6)='FC'
2030 : MOTS(7)='FD'
2031 : ELSE
2032 : * si FROTTEMENT3 ou FROTTEMENT4
2032 : CALL PLACE(MATMOD,NMAT,IFT1,'FROTTEMENT3')
2032 : CALL PLACE(MATMOD,NMAT,IFT2,'FROTTEMENT4')
2033 : IF(IFT1.NE.0.OR.IFT2.NE.0) THEN
2034 : JGM=2
2035 : SEGINI MLMOTS
2036 : MOOBL=MLMOTS
2037 : MOTS(1)='RUGO'
2038 : MOTS(2)='FK'
2039 : ENDIF
2040 : ENDIF
2041 : *
2042 : GOTO 9999
2043 : ENDIF
2044 : *--------------------------------------------------------------------
2045 : * CAS DE LA FORMULATION MELANGE
2046 : *--------------------------------------------------------------------
2046 : CALL PLACE(FORMOD,NFOR,ICONV,'MELANGE')
2047 : IF (ICONV.NE.0) THEN
2047 : CALL MODMEL(MOMODL,NMOD)
2047 : CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(1))
2048 : * write(6,*) ' iplac' , iplac
2049 : if (iplac.eq.0) goto 99
2050 : INMAT=1
2051 : *
2052 : * a priori elements massifs ou coques : pas de verif
2053 : *
2054 : JGM = 0
2055 : SEGINI MLMOTS
2056 : MOOBL = MLMOTS
2057 : SEGINI MLMOTS
2058 : MOFAC = MLMOTS
2059 : IF (IPLAC.NE.3.AND.IPLAC.NE.4) THEN
2059 : CALL IDMETA(MFR,MOOBL,MOFAC,IPLAC,IRET)
2060 : IF (IRET.EQ.0) GOTO 99
2061 : * construit les noms de composante en PARALLELE ou en SERIE
2062 : ELSEIF (iplac.eq.3.or.iplac.eq.4) THEN
2063 : mlmots = moobl
2064 : segsup mlmots
2065 : jgm = ivamod(/1)
2066 : * write(6,*) ' jgm ', jgm
2067 : segini mlmots
2068 : kc1 = 0
2069 : do ic1 = 1,jgm
2070 : if (tymode(ic1).eq.'IMODEL') then
2071 : imode2 = ivamod(ic1)
2072 : segact imode2
2073 : lozut = .false.
2074 : * write(6,*) ' imode2.phamod(1:4) ',imode2.phamod(1:4)
2075 : if (kc1.ge.1) then
2076 : do kkc1 = 1, kc1
2077 : if (imode2.conmod(17:20).eq.mots(kkc1)) lozut = .true.
2078 : enddo
2079 : endif
2080 : if (.not.lozut) then
2081 : kc1 = kc1 + 1
2082 : mots(kc1) = imode2.conmod(17:20)
2083 : endif
2084 : segdes imode2
2085 : endif
2086 : enddo
2087 : jgm = kc1
2088 : segadj mlmots
2089 : moobl = mlmots
2090 : ENDIF
2091 : *
2092 : GOTO 9999
2093 : ENDIF
2094 : *--------------------------------------------------------------------
2095 : * CAS DE LA FORMULATION LIAISON
2096 : *--------------------------------------------------------------------
2096 : CALL PLACE(FORMOD,NFOR,ICONV,'LIAISON')
2097 : IF (ICONV.NE.0) THEN
2098 : iplac = imatee
2099 : if (iplac.eq.0) goto 99
2100 : *
2101 : JGM = 0
2102 : SEGINI MLMOTS
2103 : MOOBL = MLMOTS
2104 : SEGINI MLMOTS
2105 : MOFAC = MLMOTS
2106 : * 'SORT' facultatif dans tous les cas
2107 : *
2108 : IF (iplac.EQ.1) THEN
2109 : *PO_PL_FL
2110 : MLMOTS = MOOBL
2111 : JGM0 = MOTS(/2)
2112 : JGM = MOTS(/2)+7
2113 : SEGADJ MLMOTS
2114 : MOTS(JGM0 + 1) ='NORM'
2115 : MOTS(JGM0 + 2) ='INER'
2116 : MOTS(JGM0 + 3) ='CONV'
2117 : MOTS(JGM0 + 4) ='VISC'
2118 : MOTS(JGM0 + 5) ='PELO'
2119 : MOTS(JGM0 + 6) ='PRAP'
2120 : MOTS(JGM0 + 7) ='JFLU'
2121 : ELSEIF (iplac.eq.2) then
2122 : *PO_PL_FR
2123 : MLMOTS = MOOBL
2124 : JGM0 = MOTS(/2)
2125 : JGM = MOTS(/2)+7
2126 : SEGADJ MLMOTS
2127 : MOTS(JGM0 + 1) ='NORM'
2128 : MOTS(JGM0 + 2) ='RAID'
2129 : MOTS(JGM0 + 3) ='JEU'
2130 : MOTS(JGM0 + 4) ='GLIS'
2131 : MOTS(JGM0 + 5) ='ADHE'
2132 : MOTS(JGM0 + 6) ='RTAN'
2133 : MOTS(JGM0 + 7) ='ATAN'
2134 : MLMOTS = MOFAC
2135 : JGM0 = MOTS(/2)
2136 : JGM = MOTS(/2)+2
2137 : SEGADJ MLMOTS
2138 : MOTS(JGM0+1) = 'AMOR'
2139 : MOTS(JGM0+2) = 'LOIC'
2140 :
2141 : ELSEIF (iplac.eq.3) then
2142 : *PO_PL
2143 : MLMOTS = MOOBL
2144 : JGM0 = MOTS(/2)
2145 : JGM = MOTS(/2)+3
2146 : SEGADJ MLMOTS
2147 : MOTS(JGM0 + 1) ='NORM'
2148 : MOTS(JGM0 + 2) ='RAID'
2149 : MOTS(JGM0 + 3) ='JEU'
2150 : MLMOTS = MOFAC
2151 : JGM0 = MOTS(/2)
2152 : JGM = MOTS(/2)+4
2153 : SEGADJ MLMOTS
2154 : MOTS(JGM0+1) = 'LOIC'
2155 : MOTS(JGM0+2) = 'PERM'
2156 : MOTS(JGM0 + 3) ='SPLA'
2157 : MOTS(JGM0 + 4) ='AMOR'
2158 :
2159 : ELSEIF (iplac.eq.4) then
2160 : *PO_PO_FR
2161 : MLMOTS = MOOBL
2162 : JGM0 = MOTS(/2)
2163 : JGM = MOTS(/2)+8
2164 : SEGADJ MLMOTS
2165 : MOTS(JGM0 + 1) ='NORM'
2166 : MOTS(JGM0 + 2) ='RAID'
2167 : MOTS(JGM0 + 3) ='JEU'
2168 : MOTS(JGM0 + 4) ='POIB'
2169 : MOTS(JGM0 + 5) ='ADHE'
2170 : MOTS(JGM0 + 6) ='RTAN'
2171 : MOTS(JGM0 + 7) ='ATAN'
2172 : MOTS(JGM0 + 8) ='GLIS'
2173 : MLMOTS = MOFAC
2174 : JGM0 = MOTS(/2)
2175 : JGM = MOTS(/2)+3
2176 : SEGADJ MLMOTS
2177 : MOTS(JGM0+1) = 'AMOR'
2178 : MOTS(JGM0+2) = 'LOIC'
2179 : MOTS(JGM0+3) = 'MODE'
2180 :
2181 : ELSEIF (iplac.eq.5) then
2182 : *PO_PO_DP
2183 : MLMOTS = MOOBL
2184 : JGM0 = MOTS(/2)
2185 : JGM = MOTS(/2)+6
2186 : SEGADJ MLMOTS
2187 : MOTS(JGM0 + 1) ='NORM'
2188 : MOTS(JGM0 + 2) ='ECRO'
2189 : MOTS(JGM0 + 3) ='JEU'
2190 : MOTS(JGM0 + 4) ='POIB'
2191 : MOTS(JGM0 + 5) ='PERM'
2192 : MOTS(JGM0 + 6) = 'LOIC'
2193 : MLMOTS = MOFAC
2194 : JGM0 = MOTS(/2)
2195 : JGM = MOTS(/2)+1
2196 : SEGADJ MLMOTS
2197 : MOTS(JGM0+1) = 'AMOR'
2198 :
2199 : ELSEIF (iplac.eq.6) then
2200 : *PO_PO_RP
2201 : MLMOTS = MOOBL
2202 : JGM0 = MOTS(/2)
2203 : JGM = MOTS(/2)+6
2204 : SEGADJ MLMOTS
2205 : MOTS(JGM0 + 1) ='AXRO'
2206 : MOTS(JGM0 + 2) ='ECRO'
2207 : MOTS(JGM0 + 3) ='JEU'
2208 : MOTS(JGM0 + 4) ='POIB'
2209 : MOTS(JGM0 + 5) ='PERM'
2210 : MOTS(JGM0 + 6) = 'LOIC'
2211 : MLMOTS = MOFAC
2212 : JGM0 = MOTS(/2)
2213 : JGM = MOTS(/2)+2
2214 : SEGADJ MLMOTS
2215 : MOTS(JGM0+1) = 'AMOR'
2216 : MOTS(JGM0+2) = 'ELAS'
2217 :
2218 : ELSEIF (iplac.eq.7) then
2219 : *PO_PO
2220 : MLMOTS = MOOBL
2221 : JGM0 = MOTS(/2)
2222 : JGM = MOTS(/2)+5
2223 : SEGADJ MLMOTS
2224 : MOTS(JGM0 + 1) ='NORM'
2225 : MOTS(JGM0 + 2) ='RAID'
2226 : MOTS(JGM0 + 3) ='JEU'
2227 : MOTS(JGM0 + 4) ='POIB'
2228 : MOTS(JGM0 + 5) ='PERM'
2229 : MLMOTS = MOFAC
2230 : JGM0 = MOTS(/2)
2231 : JGM = MOTS(/2)+2
2232 : SEGADJ MLMOTS
2233 : MOTS(JGM0+1) = 'AMOR'
2234 : MOTS(JGM0+2) = 'LOIC'
2235 :
2236 : ELSEIF (iplac.eq.8) then
2237 : *PO_CE_MO
2238 : MLMOTS = MOOBL
2239 : JGM0 = MOTS(/2)
2240 : JGM = MOTS(/2)+8
2241 : SEGADJ MLMOTS
2242 : MOTS(JGM0 + 1) ='NORM'
2243 : MOTS(JGM0 + 2) ='RAID'
2244 : MOTS(JGM0 + 3) ='PCER'
2245 : MOTS(JGM0 + 4) ='RAYO'
2246 : MOTS(JGM0 + 5) ='GLIS'
2247 : MOTS(JGM0 + 6) ='ADHE'
2248 : MOTS(JGM0 + 7) ='RTAN'
2249 : MOTS(JGM0 + 8) ='ATAN'
2250 : MLMOTS = MOFAC
2251 : JGM0 = MOTS(/2)
2252 : JGM = MOTS(/2)+2
2253 : SEGADJ MLMOTS
2254 : MOTS(JGM0+1) = 'CINT'
2255 : MOTS(JGM0+2) = 'AMOR'
2256 :
2257 : ELSEIF (iplac.eq.9) then
2258 : *PO_CE_FR
2259 : MLMOTS = MOOBL
2260 : JGM0 = MOTS(/2)
2261 : JGM = MOTS(/2)+8
2262 : SEGADJ MLMOTS
2263 : MOTS(JGM0 + 1) ='NORM'
2264 : MOTS(JGM0 + 2) ='RAID'
2265 : MOTS(JGM0 + 3) ='EXCE'
2266 : MOTS(JGM0 + 4) ='RAYO'
2267 : MOTS(JGM0 + 5) ='GLIS'
2268 : MOTS(JGM0 + 6) ='ADHE'
2269 : MOTS(JGM0 + 7) ='RTAN'
2270 : MOTS(JGM0 + 8) ='ATAN'
2271 : MLMOTS = MOFAC
2272 : JGM0 = MOTS(/2)
2273 : JGM = MOTS(/2)+2
2274 : SEGADJ MLMOTS
2275 : MOTS(JGM0+1) = 'CINT'
2276 : MOTS(JGM0+2) = 'AMOR'
2277 :
2278 : ELSEIF (iplac.eq.10) then
2279 : *PO_CE
2280 : MLMOTS = MOOBL
2281 : JGM0 = MOTS(/2)
2282 : JGM = MOTS(/2)+4
2283 : SEGADJ MLMOTS
2284 : MOTS(JGM0 + 1) ='NORM'
2285 : MOTS(JGM0 + 2) ='RAID'
2286 : MOTS(JGM0 + 3) ='EXCE'
2287 : MOTS(JGM0 + 4) ='RAYO'
2288 : MLMOTS = MOFAC
2289 : JGM0 = MOTS(/2)
2290 : JGM = MOTS(/2)+1
2291 : SEGADJ MLMOTS
2292 : MOTS(JGM0+1) = 'AMOR'
2293 :
2294 : ELSEIF (iplac.eq.11) then
2295 : *CE_PL_FR
2296 : MLMOTS = MOOBL
2297 : JGM0 = MOTS(/2)
2298 : JGM = MOTS(/2)+8
2299 : SEGADJ MLMOTS
2300 : MOTS(JGM0 + 1) ='NORM'
2301 : MOTS(JGM0 + 2) ='RAID'
2302 : MOTS(JGM0 + 3) ='JEU'
2303 : MOTS(JGM0 + 4) ='RAYS'
2304 : MOTS(JGM0 + 5) ='GLIS'
2305 : MOTS(JGM0 + 6) ='ADHE'
2306 : MOTS(JGM0 + 7) ='RTAN'
2307 : MOTS(JGM0 + 8) ='ATAN'
2308 : MLMOTS = MOFAC
2309 : JGM0 = MOTS(/2)
2310 : JGM = MOTS(/2)+1
2311 : SEGADJ MLMOTS
2312 : MOTS(JGM0+1) = 'AMOR'
2313 :
2314 : ELSEIF (iplac.eq.12) then
2315 : *CE_CE_FR
2316 : MLMOTS = MOOBL
2317 : JGM0 = MOTS(/2)
2318 : JGM = MOTS(/2)+9
2319 : SEGADJ MLMOTS
2320 : MOTS(JGM0 + 1) ='NORM'
2321 : MOTS(JGM0 + 2) ='RAID'
2322 : MOTS(JGM0 + 3) ='EXCE'
2323 : MOTS(JGM0 + 4) ='RAYS'
2324 : MOTS(JGM0 + 5) ='GLIS'
2325 : MOTS(JGM0 + 6) ='ADHE'
2326 : MOTS(JGM0 + 7) ='RTAN'
2327 : MOTS(JGM0 + 8) ='ATAN'
2328 : MOTS(JGM0 + 9) ='RAYB'
2329 : MLMOTS = MOFAC
2330 : JGM0 = MOTS(/2)
2331 : JGM = MOTS(/2)+2
2332 : SEGADJ MLMOTS
2333 : MOTS(JGM0+1) = 'AMOR'
2334 : MOTS(JGM0+2) = 'CINT'
2335 :
2336 : ELSEIF (iplac.eq.13.or.iplac.eq.14) then
2337 : *PR_PR_IN ou PR_PR_EX
2338 : MLMOTS = MOOBL
2339 : JGM0 = MOTS(/2)
2340 : JGM = MOTS(/2)+5
2341 : SEGADJ MLMOTS
2342 : MOTS(JGM0 + 1) ='NORM'
2343 : MOTS(JGM0 + 2) ='RAID'
2344 : MOTS(JGM0 + 3) ='PFIX'
2345 : MOTS(JGM0 + 4) ='PMOB'
2346 : MOTS(JGM0 + 5) ='ERAI'
2347 :
2348 : ELSEIF (iplac.eq.15) then
2349 : *LI_LI_FR
2350 : MLMOTS = MOOBL
2351 : JGM0 = MOTS(/2)
2352 : JGM = MOTS(/2)+9
2353 : SEGADJ MLMOTS
2354 : MOTS(JGM0 + 1) ='NORM'
2355 : MOTS(JGM0 + 2) ='LIMA'
2356 : MOTS(JGM0 + 3) ='LIES'
2357 : MOTS(JGM0 + 4) ='RAID'
2358 : MOTS(JGM0 + 5) ='GLIS'
2359 : MOTS(JGM0 + 6) ='ADHE'
2360 : MOTS(JGM0 + 7) ='RTAN'
2361 : MOTS(JGM0 + 8) ='ATAN'
2362 : MOTS(JGM0 + 9) ='JEU'
2363 : MLMOTS = MOFAC
2364 : JGM0 = MOTS(/2)
2365 : JGM = MOTS(/2)+3
2366 : SEGADJ MLMOTS
2367 : MOTS(JGM0+1) = 'AMOR'
2368 : MOTS(JGM0+2) = 'RECH'
2369 : MOTS(JGM0+3) = 'SYME'
2370 :
2371 : ELSEIF (iplac.eq.16) then
2372 : *LI_CE_FR
2373 : MLMOTS = MOOBL
2374 : JGM0 = MOTS(/2)
2375 : JGM = MOTS(/2)+8
2376 : SEGADJ MLMOTS
2377 : MOTS(JGM0 + 1) ='NORM'
2378 : MOTS(JGM0 + 2) ='LIMA'
2379 : MOTS(JGM0 + 3) ='LIES'
2380 : MOTS(JGM0 + 4) ='RAID'
2381 : MOTS(JGM0 + 5) ='GLIS'
2382 : MOTS(JGM0 + 6) ='ADHE'
2383 : MOTS(JGM0 + 7) ='RTAN'
2384 : MOTS(JGM0 + 8) ='ATAN'
2385 : MLMOTS = MOFAC
2386 : JGM0 = MOTS(/2)
2387 : JGM = MOTS(/2)+5
2388 : SEGADJ MLMOTS
2389 : MOTS(JGM0+1) = 'AMOR'
2390 : MOTS(JGM0+2) = 'RECH'
2391 : MOTS(JGM0+3) = 'RAYO'
2392 : MOTS(JGM0+4) = 'ACTN'
2393 : MOTS(JGM0+5) = 'INVE'
2394 :
2395 : ELSEIF (iplac.eq.17) then
2396 : *PA_FL_RO
2397 : MLMOTS = MOOBL
2398 : JGM0 = MOTS(/2)
2399 : JGM = MOTS(/2)+10
2400 : SEGADJ MLMOTS
2401 : MOTS(JGM0 + 1) ='LONG'
2402 : MOTS(JGM0 + 2) ='RAYO'
2403 : MOTS(JGM0 + 3) ='VISC'
2404 : MOTS(JGM0 + 4) ='RHOF'
2405 : MOTS(JGM0 + 5) ='PADM'
2406 : MOTS(JGM0 + 6) ='VROT'
2407 : MOTS(JGM0 + 7) ='EPSI'
2408 : MOTS(JGM0 + 8) ='PHII'
2409 : MOTS(JGM0 + 9) ='AFFI'
2410 : MOTS(JGM0 + 10) ='TLOB'
2411 : MLMOTS = MOFAC
2412 : JGM0 = MOTS(/2)
2413 : JGM = MOTS(/2)+1
2414 : SEGADJ MLMOTS
2415 : MOTS(JGM0+1) = 'AMOR'
2416 :
2417 : ELSEIF (iplac.eq.23) then
2418 : *NEWMARK MODAL
2419 : MLMOTS = MOOBL
2420 : JGM0 = MOTS(/2)
2421 : JGM = MOTS(/2)+1
2422 : SEGADJ MLMOTS
2423 : MOTS(JGM0 + 1) ='JEU'
2424 : MLMOTS = MOFAC
2425 : JGM0 = MOTS(/2)
2426 : JGM = MOTS(/2)+3
2427 : SEGADJ MLMOTS
2428 : MOTS(JGM0+1) = 'EXCE'
2429 : MOTS(JGM0+2) = 'FROT'
2430 : MOTS(JGM0+3) = 'MOFR'
2431 : ENDIF
2432 : *
2433 : * 'SORT' facultatif dans tous les cas
2434 : MLMOTS = MOFAC
2435 : JGM0 = MOTS(/2)
2436 : JGM = JGM0+1
2437 : SEGADJ MLMOTS
2438 : MOTS(JGM0+1) = 'SORT'
2439 : *
2440 : GOTO 9999
2441 : ENDIF
2442 :
2443 : *--------------------------------------------------------------------
2444 : * CAS DE LA FORMULATION ELECTROSTATIQUE
2445 : *--------------------------------------------------------------------
2445 : CALL PLACE(FORMOD,NFOR,IELEC,'ELECTROSTATIQUE')
2446 : IF (IELEC.NE.0) THEN
2447 : C -- Permittivite isotrope
2448 : IF (IMATEE.EQ.1) THEN
2449 : C* IF (CMATEE.EQ.'ISOTROPE') THEN
2450 : C* IF (MATMOD(1).EQ.'ISOTROPE ') THEN
2451 : JGM = 1
2452 : SEGINI,MLMOTS
2453 : MOOBL = MLMOTS
2454 : MOTS(1)='PEL '
2455 : C -- Permittivite orthotrope
2456 : ELSEIF (IMATEE.EQ.2) THEN
2457 : C* ELSEIF (CMATEE.EQ.'ORTHOTRO') THEN
2458 : C* ELSEIF (MATMOD(1).EQ.'ORTHOTROPE ') THEN
2459 : C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE
2460 : IF (IDIM.EQ.2) THEN
2461 : IF (IFOMOD.NE.1) THEN
2462 : JGM = 4
2463 : SEGINI,MLMOTS
2464 : MOOBL = MLMOTS
2465 : MOTS(1) = 'PE1 '
2466 : MOTS(2) = 'PE2 '
2467 : MOTS(3) = 'V1X '
2468 : MOTS(4) = 'V1Y '
2469 : C ---- Elements massifs bidimensionnels FOURIER
2470 : ELSE
2471 : JGM = 5
2472 : SEGINI,MLMOTS
2473 : MOOBL = MLMOTS
2474 : MOTS(1) = 'PE1 '
2475 : MOTS(2) = 'PE2 '
2476 : MOTS(3) = 'PE3 '
2477 : MOTS(4) = 'V1X '
2478 : MOTS(5) = 'V1Y '
2479 : ENDIF
2480 : C ---- Elements massifs TRIDimensionnels
2481 : ELSEIF (IDIM.EQ.3) THEN
2482 : JGM = 9
2483 : SEGINI,MLMOTS
2484 : MOOBL = MLMOTS
2485 : MOTS(1) = 'PE1 '
2486 : MOTS(2) = 'PE2 '
2487 : MOTS(3) = 'PE3 '
2488 : MOTS(4) = 'V1X '
2489 : MOTS(5) = 'V1Y '
2490 : MOTS(6) = 'V1Z '
2491 : MOTS(7) = 'V2X '
2492 : MOTS(8) = 'V2Y '
2493 : MOTS(9) = 'V2Z '
2494 : ENDIF
2495 : C -- Permittivite anisotrope
2496 : ELSEIF (IMATEE.EQ.3) THEN
2497 : C* ELSEIF (CMATEE.EQ.'ANISOTRO') THEN
2498 : C* ELSEIF (MATMOD(1).EQ.'ANISOTROPE ') THEN
2499 : C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE
2500 : IF (IDIM.EQ.2) THEN
2501 : IF (IFOMOD.NE.1) THEN
2502 : JGM = 5
2503 : SEGINI,MLMOTS
2504 : MOOBL = MLMOTS
2505 : MOTS(1) = 'PE11 '
2506 : MOTS(2) = 'PE22 '
2507 : MOTS(3) = 'PE21 '
2508 : MOTS(4) = 'V1X '
2509 : MOTS(5) = 'V1Y '
2510 : C ---- Elements massifs bidimensionnels FOURIER
2511 : ELSE
2512 : JGM = 6
2513 : SEGINI,MLMOTS
2514 : MOOBL=MLMOTS
2515 : MOTS(1) = 'PE11 '
2516 : MOTS(2) = 'PE22 '
2517 : MOTS(3) = 'PE21 '
2518 : MOTS(4) = 'PE33 '
2519 : MOTS(5) = 'V1X '
2520 : MOTS(6) = 'V1Y '
2521 : ENDIF
2522 : C ---- Elements massifs TRIDimensionnels
2523 : ELSEIF (IDIM.EQ.3) THEN
2524 : JGM = 12
2525 : SEGINI,MLMOTS
2526 : MOOBL = MLMOTS
2527 : MOTS( 1) = 'PE11 '
2528 : MOTS( 2) = 'PE22 '
2529 : MOTS( 3) = 'PE33 '
2530 : MOTS( 4) = 'PE21 '
2531 : MOTS( 5) = 'PE31 '
2532 : MOTS( 6) = 'PE32 '
2533 : MOTS( 7) = 'V1X '
2534 : MOTS( 8) = 'V1Y '
2535 : MOTS( 9) = 'V1Z '
2536 : MOTS(10) = 'V2X '
2537 : MOTS(11) = 'V2Y '
2538 : MOTS(12) = 'V2Z '
2539 : ENDIF
2540 : ELSE
2540 : CALL ERREUR(5)
2541 : RETURN
2542 : ENDIF
2543 : ENDIF
2544 : *
2545 : *-----------------------------------------------------------------------
2546 : * CAS DE LA FORMULATION 'DIFFUSION'
2547 : *-----------------------------------------------------------------------
2547 : CALL PLACE(FORMOD,NFOR,IDIFF,'DIFFUSION')
2548 : IF (IDIFF.NE.0) THEN
2549 : IMATE = IMATEE
2550 : IPLAC = INATUU
2551 : C -- Diffusion lineaire (composantes obligatoires)
2551 : CALL IDDILI(IMATE,0, MOOBL,NBROBL,NBRFAC)
2552 : IF (MOOBL.EQ.0) GOTO 99
2553 : C -- "Capacite" si necessaire
2554 : JGM = 1
2555 : SEGINI,MLMOTS
2556 : MOFAC = MLMOTS
2557 : C*8 MOTS(1) = 'CDIFF '
2558 : MOTS(1) = 'CDIF '
2559 : C -- Modeles non lineaires de diffusion
2559 : CALL IDDIFF(IMATE,MOOBL,MOFAC,IPLAC,IRET)
2560 : IF (IRET.EQ.0) GOTO 99
2561 : GOTO 9999
2562 : ENDIF
2563 : *
2564 : *--------------------------------------------------------------------
2565 : 9999 CONTINUE
2566 : C
2567 : IF (MOOBL.NE.0) THEN
2568 : MLMOTS=MOOBL
2569 : NBROBL=MOTS(/2)
2570 : C*? if (nbrobl.lt.0) goto 99
2571 : ENDIF
2572 : IF (MOFAC.NE.0) THEN
2573 : MLMOTS=MOFAC
2574 : NBRFAC=MOTS(/2)
2575 : C*? if (nbrfac.lt.0) goto 99
2576 : ENDIF
2577 : SEGINI,NOMID
2578 : MLMOTS=MOOBL
2579 : DO 100 IO=1,NBROBL
2580 : LESOBL(IO)=MOTS(IO)
2581 : 100 CONTINUE
2582 : SEGSUP,MLMOTS
2583 : MLMOTS=MOFAC
2584 : DO 110 IO=1,NBRFAC
2585 : LESFAC(IO)=MOTS(IO)
2586 : 110 CONTINUE
2587 : SEGSUP,MLMOTS
2588 : IPNOMC=NOMID
2589 : SEGDES,NOMID
2590 : RETURN
2591 : *
2592 : * SI PROBLEME , ON SORT AVEC IPNOMC A 0
2593 : *
2594 : 99 IPNOMC=0
2595 : RETURN
2596 : END
2597 :
2598 :
2599 :
2600 :
2601 :
2602 :
2603 :
2604 :
2605 :
2606 :
2607 :
2608 :
2609 :
2610 :
© Cast3M 2003 - All rights reserved.
Disclaimer