Download caramk.eso

Back to the list

   1 : C CARAMK    SOURCE    AM        13/12/16    21:15:24     7825           
   2 : 
   3 : C=======================================================================
   4 : C=                          C A R A M K                                =
   5 : C=                          -----------                                =
   6 : C=                                                                     =
   7 : C=  Fonction :                                                         =
   8 : C=  ----------                                                         =
   9 : C=   Recuperation des noms de caracteristiques geometriques obligatoi- =
  10 : C=   res et facultatives suivant le type d'element (formulation)       =
  11 : C=                                                                     =
  12 : C=  Parametres :  (E)=Entree  (S)=Sortie                               =
  13 : C=  ------------                                                       =
  14 : C=   MFOR      (E)  Formulation consideree                             =
  15 : C=   IFOR      (E)  Mode de calcul traite (=IFOUR dans CCOPTIO)        =
  16 : C=   MELT      (E)  Numero de l'element fini dans NOMTP (cf. CCHAMP)   =
  17 : C=   CMATE     (E)  Utilise dans le cas des POUTRES                    =
  18 : C=   IVECT     (S)  =1 si une caracteristique est un vecteur (POINT)   =
  19 : C=   MOCARA    (S)  Segment NOMID des noms des caracteristiques        =
  20 : C=   NBROBL    (S)  Nombre de caracteristiques OBLIGATOIRES            =
  21 : C=   NBRFAC    (S)  Nombre de caracteristiques FACULTATIVES            =
  22 : C=   NBRTOT    (S)  Nombre total de caracteristiques (=NBROBL+NBRFAC)  =
  23 : C=   MOTYPE    (S)  Segment NOTYPE des types des caracteristiques      =
  24 : C=   NBTYPE    (S)  Nombre de types differents                         =
  25 : C=                                                                     =
  26 : C=  Remarque :  Les segments MOCARA et MOTYPE sont ACTIFs lorsque l'on =
  27 : C=  ----------  quitte le sousprogramme.                               =
  28 : C=======================================================================
  29 : 
  30 :       SUBROUTINE CARAMK (MFOR,IFOR,MELT,CMATE,IVECT,MOCARA,NBROBL,
  31 :      .                   NBRFAC,NBRTOT,MOTYPE,NBTYPE)
  32 : 
  33 :       IMPLICIT INTEGER(I-N)
  34 :       IMPLICIT REAL*8 (A-H,O-Z)
  35 : 
  36 : C*OF -> a mettre dans un INCLUDE (SMINFO ?)
  37 :       SEGMENT NOMID
  38 :         CHARACTER*8 LESOBL(NBROBL),LESFAC(NBRFAC)
  39 :       ENDSEGMENT
  40 : 
  41 :       SEGMENT NOTYPE
  42 :         CHARACTER*16 TYPE(NBTYPE)
  43 :       ENDSEGMENT
  44 : C*OF -> fin INCLUDE (SMINFO ?)
  45 : 
  46 :       CHARACTER*8 CMATE
  47 : 
  48 : C ====
  49 : C  0. - Valeurs par defaut
  50 : C ====
  51 :       IVECT=0
  52 :       NBROBL=0
  53 :       NBRFAC=0
  54 :       NBTYPE=0
  55 : C ====
  56 : C  1. - Formulation MASSIVE en CONTRAINTES PLANES : epaisseur
  57 : C ====
  58 :       IF ((MFOR.EQ.1.OR.MFOR.EQ.31.OR.(MELT.GE.79.AND.MELT.LE.83))
  59 :      .    .AND.IFOR.EQ.-2) THEN
  60 :         NBRFAC=1
  61 :         SEGINI,NOMID
  62 :         LESFAC(1)='DIM3'
  63 :         NBTYPE=1
  64 :         SEGINI,NOTYPE
  65 :         TYPE(1)='REAL*8'
  66 : C ====
  67 : C  2. - Formulation COQUE : epaisseur(s) et excentrement
  68 : C ====
  69 :       ELSE IF (MFOR.EQ.3.OR.MFOR.EQ.5.OR.MFOR.EQ.9) THEN
  70 :         NBROBL=1
  71 :         IF (MFOR.EQ.3.AND.IFOR.EQ.-2) THEN
  72 :           NBRFAC=2
  73 :         ELSE
  74 :           NBRFAC=1
  75 :         ENDIF
  76 :         SEGINI,NOMID
  77 :         LESOBL(1)='EPAI'
  78 :         LESFAC(1)='EXCE'
  79 :         IF (MFOR.EQ.3.AND.IFOR.EQ.-2) LESFAC(2)='DIM3'
  80 :         NBTYPE=1
  81 :         SEGINI,NOTYPE
  82 :         TYPE(1)='REAL*8'
  83 : C ====
  84 : C  3. - Formulation BARRE : section
  85 : C ====
  86 :       ELSE IF (MFOR.EQ.27) THEN
  87 :         NBROBL=1
  88 :         SEGINI,NOMID
  89 :         LESOBL(1)='SECT'
  90 :         NBTYPE=1
  91 :         SEGINI,NOTYPE
  92 :         TYPE(1)='REAL*8'
  93 : C ====
  94 : C  4. - Formulation BARRE EXCENTREE : section, excentrements et
  95 : C       orientation de l'element
  96 : C ====
  97 :       ELSE IF (MFOR.EQ.49) THEN
  98 :         NBROBL=6
  99 :         SEGINI,NOMID
 100 :         LESOBL(1)='SECT'
 101 :         LESOBL(2)='EXCZ'
 102 :         LESOBL(3)='EXCY'
 103 :         LESOBL(4)='VX  '
 104 :         LESOBL(5)='VY  '
 105 :         LESOBL(6)='VZ  '
 106 :         NBTYPE=1
 107 :         SEGINI,NOTYPE
 108 :         TYPE(1)='REAL*8'
 109 : C ====
 110 : C  5. - Element de LIAISON LIA2 : raideurs locales et orientation
 111 : C ====
 112 :       ELSE IF (MFOR.EQ.51) THEN
 113 :         NBROBL=9
 114 :         SEGINI,NOMID
 115 :         LESOBL(1)='RLUX'
 116 :         LESOBL(2)='RLUY'
 117 :         LESOBL(3)='RLUZ'
 118 :         LESOBL(4)='RLRX'
 119 :         LESOBL(5)='RLRY'
 120 :         LESOBL(6)='RLRZ'
 121 :         LESOBL(7)='VX  '
 122 :         LESOBL(8)='VY  '
 123 :         LESOBL(9)='VZ  '
 124 :         NBTYPE=1
 125 :         SEGINI,NOTYPE
 126 :         TYPE(1)='REAL*8'
 127 : C ====
 128 : C  6. - Formulation POUTRE
 129 : C ====
 130 :       ELSE IF (MFOR.EQ.7) THEN
 131 :         IF (CMATE.EQ.'SECTION') THEN
 132 :           IVECT=1
 133 :           NBRFAC=1
 134 :           SEGINI,NOMID
 135 :           LESFAC='VECT'
 136 :           NBTYPE=1
 137 :           SEGINI,NOTYPE
 138 :           TYPE(1)='POINTEURPOINT   '
 139 :         ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN
 140 :           NBROBL=2
 141 :           NBRFAC=1
 142 :           SEGINI,NOMID
 143 :           LESOBL(1)='SECT'
 144 :           LESOBL(2)='INRZ'
 145 :           LESFAC(1)='SECY'
 146 :           NBTYPE=1
 147 :           SEGINI,NOTYPE
 148 :           TYPE(1)='REAL*8'
 149 :         ELSE
 150 :           IVECT=1
 151 :           NBROBL=4
 152 :           NBRFAC=3
 153 :           SEGINI,NOMID
 154 :           LESOBL(1)='TORS'
 155 :           LESOBL(2)='INRY'
 156 :           LESOBL(3)='INRZ'
 157 :           LESOBL(4)='SECT'
 158 :           LESFAC(1)='SECY'
 159 :           LESFAC(2)='SECZ'
 160 :           LESFAC(3)='VECT'
 161 :           NBTYPE=7
 162 :           SEGINI,NOTYPE
 163 :           TYPE(1)='REAL*8'
 164 :           TYPE(2)='REAL*8'
 165 :           TYPE(3)='REAL*8'
 166 :           TYPE(4)='REAL*8'
 167 :           TYPE(5)='REAL*8'
 168 :           TYPE(6)='REAL*8'
 169 :           TYPE(7)='POINTEURPOINT   '
 170 :         ENDIF
 171 : C ====
 172 : C  7. - Formulation TUYAU
 173 : C ====
 174 :       ELSE IF (MFOR.EQ.13) THEN
 175 :         IVECT=1
 176 :         NBROBL=2
 177 :         NBRFAC=3
 178 :         SEGINI,NOMID
 179 :         LESOBL(1)='EPAI'
 180 :         LESOBL(2)='RAYO'
 181 :         LESFAC(1)='RACO'
 182 :         LESFAC(2)='CISA'
 183 :         LESFAC(3)='VECT'
 184 :         NBTYPE=5
 185 :         SEGINI,NOTYPE
 186 :         TYPE(1)='REAL*8'
 187 :         TYPE(2)='REAL*8'
 188 :         TYPE(3)='REAL*8'
 189 :         TYPE(4)='REAL*8'
 190 :         TYPE(5)='POINTEURPOINT   '
 191 : C ====
 192 : C  8. - Formulation LINESPRING
 193 : C ====
 194 :       ELSE IF (MFOR.EQ.15) THEN
 195 :         NBROBL=5
 196 :         SEGINI,NOMID
 197 :         LESOBL(1)='EPAI'
 198 :         LESOBL(2)='FISS'
 199 :         LESOBL(3)='VX  '
 200 :         LESOBL(4)='VY  '
 201 :         LESOBL(5)='VZ  '
 202 :         NBTYPE=1
 203 :         SEGINI,NOTYPE
 204 :         TYPE(1)='REAL*8'
 205 : C ====
 206 : C  9. - Formulation TUYAU FISSURE
 207 : C ====
 208 :       ELSE IF (MFOR.EQ.17) THEN
 209 :         NBROBL=9
 210 :         SEGINI,NOMID
 211 :         LESOBL(1)='RAYO'
 212 :         LESOBL(2)='EPAI'
 213 :         LESOBL(3)='VX  '
 214 :         LESOBL(4)='VY  '
 215 :         LESOBL(5)='VZ  '
 216 :         LESOBL(6)='VXF '
 217 :         LESOBL(7)='VYF '
 218 :         LESOBL(8)='VZF '
 219 :         LESOBL(9)='ANGL'
 220 :         NBTYPE=1
 221 :         SEGINI,NOTYPE
 222 :         TYPE(1)='REAL*8'
 223 : C =====
 224 : C  10. - Elements HOMOGENEISEs
 225 : C =====
 226 :       ELSE IF (MFOR.EQ.37) THEN
 227 :         IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN
 228 :           NBROBL=4
 229 :           SEGINI,NOMID
 230 :           LESOBL(1)='SCEL'
 231 :           LESOBL(2)='SFLU'
 232 :           LESOBL(3)='EPS '
 233 :           LESOBL(4)='XINE'
 234 :         ELSE
 235 :           NBROBL=3
 236 :           SEGINI,NOMID
 237 :           LESOBL(1)='SCEL'
 238 :           LESOBL(2)='SFLU'
 239 :           LESOBL(3)='EPS '
 240 :         ENDIF
 241 :         NBTYPE=1
 242 :         SEGINI,NOTYPE
 243 :         TYPE(1)='REAL*8'
 244 : C =====
 245 : C  11. - Elements de type JOINT GENE
 246 : C =====
 247 :       ELSE IF (MFOR.EQ.55) THEN
 248 :         NBRFAC=1
 249 :         SEGINI,NOMID
 250 :         LESFAC(1)='EPAI'
 251 :         NBTYPE=1
 252 :         SEGINI,NOTYPE
 253 :         TYPE(1)='REAL*8'
 254 : C =====
 255 : C  12. - PAR DEFAUT : Segments VIDEs
 256 : C =====
 257 :       ELSE
 258 :         SEGINI,NOMID
 259 :         SEGINI,NOTYPE
 260 :       ENDIF
 261 : 
 262 :       NBRTOT=NBROBL+NBRFAC
 263 :       MOCARA=NOMID
 264 :       MOTYPE=NOTYPE
 265 : 
 266 :       RETURN
 267 :       END
 268 : 
 269 :  
 270 :  
 271 :  
 272 :  
 273 :  
 274 :  

© Cast3M 2003 - All rights reserved.
Disclaimer