Download iddiff.eso

Back to the list

   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