1 : C IDDIFF SOURCE FANDEUR 10/12/17 21:17:12 6427 2 : 3 : SUBROUTINE IDDIFF (ITROP,MOOBL,MOFAC,INLIN,IRET) 4 : 5 : *----------------------------------------------------------------------* 6 : * Noms de composantes de materiau pour la DIFFUSION non lineaire * 7 : *----------------------------------------------------------------------* 8 : * ITROP (E) "tropie" du materiau (IMATEE du MODELE) * 9 : * MOOBL (E/S) pointeur sur les composantes obligatoires * 10 : * MOFAC (E/S) pointeur sur les composantes facultatives * 11 : * INLIN (E) numero du modele dans MODDIF (INATUU du MODELE) * 12 : * IRET (S) =0 en cas de probleme * 13 : *----------------------------------------------------------------------* 14 : 15 : IMPLICIT INTEGER(I-N) 16 : IMPLICIT REAL*8(A-H,O-Z) 17 : 18 : -INC CCOPTIO 19 : -INC SMLMOTS 20 : 21 : JGN = 8 22 : 23 : * Loi de FICK : loi lineaire 24 : * --------------- 25 : IF (INLIN.EQ.0) THEN 26 : * Pas de composantes supplementaires que les coefficients lineaires 27 : IRET = 1 28 : 29 : * Loi SORET : 30 : * ------------- 31 : ELSE IF (INLIN.EQ.1) THEN 32 : IF (MOOBL.NE.0) THEN 33 : MLMOTS = MOOBL 34 : JGA = MOTS(/2) 35 : JGM = JGA+10 36 : SEGADJ,MLMOTS 37 : ELSE 38 : JGA = 0 39 : JGM = 10 40 : SEGINI,MLMOTS 41 : ENDIF 42 : C -- Diffusion isotrope 43 : IF (ITROP.EQ.1) THEN 44 : JGM = JGA+1 45 : C*8 MOTS(JGA+1) = 'KSORET ' 46 : MOTS(JGA+1) = 'KS ' 47 : C -- Diffusion orthotrope 48 : ELSE IF (ITROP.EQ.2) THEN 49 : C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE 50 : IF (IFOMOD.LE.0) THEN 51 : JGM = JGA + 2 52 : C*8 MOTS(JGA+1) = 'KSORET1 ' 53 : C*8 MOTS(JGA+2) = 'KSORET2 ' 54 : MOTS(JGA+1) = 'KS1 ' 55 : MOTS(JGA+2) = 'KS2 ' 56 : C ---- Elements massifs bidimensionnels FOURIER 57 : C ---- Elements massifs TRIDimensionnels 58 : ELSE 59 : JGM = JGA + 3 60 : C*8 MOTS(JGA+1) = 'KSORET1 ' 61 : C*8 MOTS(JGA+2) = 'KSORET2 ' 62 : C*8 MOTS(JGA+3) = 'KSORET3 ' 63 : MOTS(JGA+1) = 'KS1 ' 64 : MOTS(JGA+2) = 'KS2 ' 65 : MOTS(JGA+3) = 'KS3 ' 66 : ENDIF 67 : C -- Diffusion anisotrope 68 : ELSE IF (ITROP.EQ.3) THEN 69 : C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE 70 : IF (IFOMOD.LE.0) THEN 71 : JGM = JGA + 3 72 : C*8 MOTS(JGA+1) = 'KSORET11' 73 : C*8 MOTS(JGA+2) = 'KSORET22' 74 : C*8 MOTS(JGA+3) = 'KSORET21' 75 : MOTS(JGA+1) = 'KS11 ' 76 : MOTS(JGA+2) = 'KS22 ' 77 : MOTS(JGA+3) = 'KS21 ' 78 : C ---- Elements massifs bidimensionnels FOURIER 79 : ELSE IF (IFOMOD.EQ.1) THEN 80 : JGM = JGA + 4 81 : C*8 MOTS(JGA+1) = 'KSORET11' 82 : C*8 MOTS(JGA+2) = 'KSORET22' 83 : C*8 MOTS(JGA+3) = 'KSORET21' 84 : C*8 MOTS(JGA+4) = 'KSORET33' 85 : MOTS(JGA+1) = 'KS11 ' 86 : MOTS(JGA+2) = 'KS22 ' 87 : MOTS(JGA+3) = 'KS21 ' 88 : MOTS(JGA+4) = 'KS33 ' 89 : C ---- Elements massifs TRIDimensionnels 90 : ELSE IF (IFOMOD.EQ.2) THEN 91 : JGM = JGA + 6 92 : C*8 MOTS(JGA+1) = 'KSORET11' 93 : C*8 MOTS(JGA+2) = 'KSORET22' 94 : C*8 MOTS(JGA+3) = 'KSORET33' 95 : C*8 MOTS(JGA+4) = 'KSORET21' 96 : C*8 MOTS(JGA+5) = 'KSORET31' 97 : C*8 MOTS(JGA+6) = 'KSORET32' 98 : MOTS(JGA+1) = 'KS11 ' 99 : MOTS(JGA+2) = 'KS22 ' 100 : MOTS(JGA+3) = 'KS33 ' 101 : MOTS(JGA+4) = 'KS21 ' 102 : MOTS(JGA+5) = 'KS31 ' 103 : MOTS(JGA+6) = 'KS32 ' 104 : ENDIF 105 : ELSE 106 : C -- Erreur ne devant pas survenir 107 : IRET = 0 107 : CALL ERREUR(261) 108 : RETURN 109 : ENDIF 110 : SEGADJ,MLMOTS 111 : MOOBL = MLMOTS 112 : IRET = 1 113 : 114 : * Loi UTILISATEUR : 115 : * ------------------- 116 : ELSE IF (INLIN.EQ.2) THEN 117 : * Par defaut pas de composantes autres que celles de l'utilisateur 118 : IRET = 1 119 : 120 : * Loi inconnue : ERREUR 121 : * ---------------- 122 : ELSE 123 : IRET = 0 123 : CALL ERREUR(261) 124 : ENDIF 125 : 126 : RETURN 127 : END 128 : 129 :
© Cast3M 2003 - All rights reserved.
Disclaimer