C IDDILI SOURCE CHAT 11/03/16 21:25:20 6902 SUBROUTINE IDDILI (ITROP,ITYPE, MOCOMP,NBROBL,NBRFAC) *----------------------------------------------------------------------* * Noms de composantes de materiau pour la DIFFUSION lineaire * *----------------------------------------------------------------------* * ITROP (E) "tropie" du materiau (IMATEE du MODELE) * * ITYPE (E) =0 si MOCOMP est un LISTMOTS, =1 si NOMID * * MOCOMP (S) pointeur selon ITYPE contenant les composantes requises * * (obligatoires et facultatives) * * NBROBL (S) nombre de composantes obligatoires * * NBRFAC (S) nombre de composantes facultatives (=0 ici) * *----------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO -INC SMMODEL -INC SMLMOTS NBROBL = 0 NBRFAC = 0 MLMOTS = 0 JGN = 8 JGM = 0 C- Diffusion isotrope IF (ITROP .EQ. 1) THEN JGM = 1 SEGINI,MLMOTS C*8 MOTS(1) = 'KDIFF ' MOTS(1) = 'KD ' C- Diffusion orthotrope ELSE IF (ITROP .EQ. 2) THEN C--- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE IF (IDIM.EQ.2) THEN IF (IFOMOD.NE.1) THEN JGM = 4 SEGINI,MLMOTS C*8 MOTS(1) = 'KDIFF1 ' C*8 MOTS(2) = 'KDIFF2 ' MOTS(1) = 'KD1 ' MOTS(2) = 'KD2 ' MOTS(3) = 'V1X ' MOTS(4) = 'V1Y ' C--- Elements massifs bidimensionnels FOURIER ELSE JGM = 5 SEGINI,MLMOTS C*8 MOTS(1) = 'KDIFF1 ' C*8 MOTS(2) = 'KDIFF2 ' C*8 MOTS(3) = 'KDIFF3 ' MOTS(1) = 'KD1 ' MOTS(2) = 'KD2 ' MOTS(3) = 'KD3 ' MOTS(4) = 'V1X ' MOTS(5) = 'V1Y ' ENDIF C--- Elements massifs TRIDimensionnels ELSE IF (IDIM.EQ.3) THEN JGM = 9 SEGINI,MLMOTS C*8 MOTS(1) = 'KDIFF1 ' C*8 MOTS(2) = 'KDIFF2 ' C*8 MOTS(3) = 'KDIFF3 ' MOTS(1) = 'KD1 ' MOTS(2) = 'KD2 ' MOTS(3) = 'KD3 ' MOTS(4) = 'V1X ' MOTS(5) = 'V1Y ' MOTS(6) = 'V1Z ' MOTS(7) = 'V2X ' MOTS(8) = 'V2Y ' MOTS(9) = 'V2Z ' ENDIF C- Diffusion anisotrope ELSE IF (ITROP.EQ.3) THEN C--- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE IF (IDIM.EQ.2) THEN IF (IFOMOD.NE.1) THEN JGM = 5 SEGINI,MLMOTS C*8 MOTS(1) = 'KDIFF11 ' C*8 MOTS(2) = 'KDIFF22 ' C*8 MOTS(3) = 'KDIFF21 ' MOTS(1) = 'KD11 ' MOTS(2) = 'KD22 ' MOTS(3) = 'KD21 ' MOTS(4) = 'V1X ' MOTS(5) = 'V1Y ' C--- Elements massifs bidimensionnels FOURIER ELSE JGM = 6 SEGINI,MLMOTS MOCOMP=MLMOTS C*8 MOTS(1) = 'KDIFF11 ' C*8 MOTS(2) = 'KDIFF22 ' C*8 MOTS(3) = 'KDIFF21 ' C*8 MOTS(4) = 'KDIFF33 ' MOTS(1) = 'KD11 ' MOTS(2) = 'KD22 ' MOTS(3) = 'KD21 ' MOTS(4) = 'KD33 ' MOTS(5) = 'V1X ' MOTS(6) = 'V1Y ' ENDIF C--- Elements massifs TRIDimensionnels ELSE IF (IDIM.EQ.3) THEN JGM = 12 SEGINI,MLMOTS C*8 MOTS( 1) = 'KDIFF11 ' C*8 MOTS( 2) = 'KDIFF22 ' C*8 MOTS( 3) = 'KDIFF33 ' C*8 MOTS( 4) = 'KDIFF21 ' C*8 MOTS( 5) = 'KDIFF31 ' C*8 MOTS( 6) = 'KDIFF32 ' MOTS( 1) = 'KD11 ' MOTS( 2) = 'KD22 ' MOTS( 3) = 'KD33 ' MOTS( 4) = 'KD21 ' MOTS( 5) = 'KD31 ' MOTS( 6) = 'KD32 ' MOTS( 7) = 'V1X ' MOTS( 8) = 'V1Y ' MOTS( 9) = 'V1Z ' MOTS(10) = 'V2X ' MOTS(11) = 'V2Y ' MOTS(12) = 'V2Z ' ENDIF ENDIF MOCOMP = MLMOTS IF (MOCOMP.EQ.0) THEN CALL ERREUR(5) RETURN ENDIF NBROBL = JGM IF (ITYPE.NE.0) THEN SEGINI,NOMID DO i = 1, NBROBL LESOBL(i) = MOTS(i) ENDDO SEGSUP,MLMOTS C* SEGDES,NOMID MOCOMP = NOMID ENDIF RETURN END