Download idcont.eso

Back to the list

   1 : C IDCONT    SOURCE    AM        12/02/06    21:15:37     7281           
   2 : 
   3 : C=======================================================================
   4 : C=       RECHERCHE DES NOMS DE COMPOSANTES DE CONTRAINTES              =
   5 : C=       ------------------------------------------------              =
   6 : C=                                                                     =
   7 : C=  Entrees :                                                          =
   8 : C=    IPMODL    pointeur ACTIF sur objet IMODEL                        =
   9 : C=    IFOU      valeur de IFOUR de CCOPTIO                             =
  10 : C=                                                                     =
  11 : C=  Sorties :                                                          =
  12 : C=    IPNOMC    pointeur de type NOMID sur les listes de noms de       =
  13 : C=              composantes OBLigatoires et FACultatives               =
  14 : C=    NBROBL    nombre de composantes OBLigatoires                     =
  15 : C=    NBRFAC    nombre de composantes FACultatives                     =
  16 : C=======================================================================
  17 : 
  18 :       SUBROUTINE IDCONT (IPMODL,IFOU,IPNOMC,NBROBL,NBRFAC)
  19 : 
  20 :       IMPLICIT INTEGER(I-N)
  21 : -INC CCOPTIO
  22 : -INC SMMODEL
  23 :       logical dcmate
  24 : 
  25 : 
  26 :       NBROBL=0
  27 :       NBRFAC=0
  28 :       NOMID=0
  29 :       dcmate = .false.
  30 : 
  31 :       IMODEL=IPMODL
  32 :       MELE=NEFMOD
  33 :       MFR=NUMMFR(MELE)
  34 :       IF (FORMOD(1).eq.'MECANIQUE') THEN
  35 :         DO imat = 1 , matmod(/2)
  36 :           if (matmod(imat).eq.'IMPEDANCE') then
  37 :             MFR2 = infele(13)
  38 :             if (mfr2.eq.26.or.mfr2.eq.28) mfr = mfr2
  38 :             call iddepl(MFR,IFOU,IPNOMC,NBROBL,NBRFAC)
  39 :             dcmate = .true.
  40 :             nomid = ipnomc
  41 :             segact nomid*mod
  42 :             do io = 1,nbrobl
  43 :               lesobl(io)(2:4)=lesobl(io)(1:3)
  44 :               lesobl(io)(1:1)='S'
  45 :             enddo 
  46 :             do io = 1,nbrfac
  47 :               lesfac(io)(2:4)=lesfac(io)(1:3)
  48 :               lesfac(io)(1:1)='S'
  49 :             enddo 
  50 :             segdes nomid
  51 :             return
  52 :           endif
  53 :         ENDDO
  54 :       ENDIF
  55 :       IF (FORMOD(1).EQ.'ELECTROSTATIQUE') MFR = 71
  56 :       IF (FORMOD(1).EQ.'DIFFUSION') MFR = 73
  57 : 
  58 :       mfr2=0
  58 :       CALL PLACE(FORMOD,FORMOD(/2),ITHEHY,'THERMOHYDRIQUE')    
  58 :       CALL PLACE(FORMOD,FORMOD(/2),ITTHE,'CONVECTION')
  58 :       CALL PLACE(FORMOD,FORMOD(/2),ITHER,'THERMIQUE')
  59 :       ITHER=ITHER+ITTHE 
  59 :       CALL PLACE(FORMOD,FORMOD(/2),IMAGN,'MAGNETODYNAMIQUE')         
  60 :          if(ithehy.eq.1) mfr2=65
  61 :          if(ITHER.eq.1 ) mfr2=29
  62 :          if(IMAGN.eq.1 ) mfr2=69  
  63 :       IF(mfr2.ne.0) go to 100
  64 : C  Coque integree ou pas ?
  65 :       NPINT=0
  66 :       IF (INFMOD(/1).NE.0) NPINT=INFMOD(1)
  67 : *
  68 : *     -1/ MACRO ELEMENT
  69 : *
  70 :       IF (MFR.EQ.61)THEN
  71 : C
  72 :          IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  73 : *
  74 : *        0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES
  75 : *
  76 :             NBROBL=5
  77 :             SEGINI NOMID
  78 :             LESOBL(1)='SMN1'
  79 :             LESOBL(2)='MOM1'
  80 :             LESOBL(3)='SMSN'
  81 :             LESOBL(4)='SMN2'
  82 :             LESOBL(5)='MOM2'
  83 :          ENDIF
  84 : 
  85 : C  1 - Element JOINT
  86 : C ===================
  87 :       ELSE IF (MFR.EQ.35) THEN
  88 : C =====
  89 : C  1.1 - Tridimensionnel
  90 : C =====
  91 :         IF (IFOU.EQ.2) THEN
  92 :           NBROBL=3
  93 :           SEGINI,NOMID
  94 :           LESOBL(1)='SMS1'
  95 :           LESOBL(2)='SMS2'
  96 :           LESOBL(3)='SMN '
  97 : C =====
  98 : C  1.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
  99 : C =====
 100 :         ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.
 101 :      .           (IFOU.EQ.0)) THEN
 102 :           NBROBL=2
 103 :           SEGINI,NOMID
 104 :           LESOBL(1)='SMSN'
 105 :           LESOBL(2)='SMN '
 106 :         ENDIF
 107 : 
 108 : C  2 - Element JOINT CISAILLEMENT (2D)
 109 : C      Bidimensionnel PLAN (CP/DP/DPGE)
 110 : C ======================================
 111 :       ELSE IF (MFR.EQ.53) THEN
 112 :         IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN
 113 :           NBROBL=2
 114 :           SEGINI,NOMID
 115 :           LESOBL(1)='SMS1'
 116 :           LESOBL(2)='SMS2'
 117 :         ENDIF
 118 : 
 119 : C  3 - Element JOINT GENERALISE
 120 : C ==============================
 121 :       ELSE IF (MFR.EQ.55) THEN
 122 : C =====
 123 : C  3.1 - Bidimensionnel PLAN (CP/DP/DPGE)
 124 : C =====
 125 :         IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN
 126 :           NBROBL=4
 127 :           SEGINI,NOMID
 128 :           LESOBL(1)='SMSN'
 129 :           LESOBL(2)='SMN '
 130 :           LESOBL(3)='SETT'
 131 :           LESOBL(4)='SEZZ'
 132 : C =====
 133 : C  3.2 - Tridimensionnel
 134 : C =====
 135 :         ELSE IF (IFOU.EQ.2) THEN
 136 :           NBROBL=6
 137 :           SEGINI,NOMID
 138 :           LESOBL(1)='SMS1'
 139 :           LESOBL(2)='SMS2'
 140 :           LESOBL(3)='SMN '
 141 :           LESOBL(4)='SETT'
 142 :           LESOBL(5)='SEUU'
 143 :           LESOBL(6)='SETU'
 144 :         ENDIF
 145 : 
 146 : C  4 - Elements MASSIFS et xfem
 147 : C ======================
 148 :       ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.or.MFR.eq.63) THEN
 149 : C =====
 150 : C  4.1 - Bidimensionnel PLAN (CP/DP/DPGE)
 151 : C =====
 152 :         IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 153 :           NBROBL=4
 154 :           SEGINI,NOMID
 155 :           LESOBL(1)='SMXX'
 156 :           LESOBL(2)='SMYY'
 157 :           LESOBL(3)='SMZZ'
 158 :           LESOBL(4)='SMXY'
 159 : C =====
 160 : C  4.2 - Axisymetrie
 161 : C =====
 162 :         ELSE IF (IFOU.EQ.0) THEN
 163 :           NBROBL=4
 164 :           SEGINI,NOMID
 165 :           LESOBL(1)='SMRR'
 166 :           LESOBL(2)='SMZZ'
 167 :           LESOBL(3)='SMTT'
 168 :           LESOBL(4)='SMRZ'
 169 : C =====
 170 : C  4.3 - Fourier
 171 : C =====
 172 :         ELSE IF (IFOU.EQ.1) THEN
 173 :           NBROBL=6
 174 :           SEGINI,NOMID
 175 :           LESOBL(1)='SMRR'
 176 :           LESOBL(2)='SMZZ'
 177 :           LESOBL(3)='SMTT'
 178 :           LESOBL(4)='SMRZ'
 179 :           LESOBL(5)='SMRT'
 180 :           LESOBL(6)='SMZT'
 181 : C =====
 182 : C  4.4 - Tridimensionnel
 183 : C =====
 184 :         ELSE IF (IFOU.EQ.2) THEN
 185 :           NBROBL=6
 186 :           SEGINI,NOMID
 187 :           LESOBL(1)='SMXX'
 188 :           LESOBL(2)='SMYY'
 189 :           LESOBL(3)='SMZZ'
 190 :           LESOBL(4)='SMXY'
 191 :           LESOBL(5)='SMXZ'
 192 :           LESOBL(6)='SMYZ'
 193 : C =====
 194 : C  4.5 - Unidimensionnel (1D)
 195 : C =====
 196 :         ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
 197 :           NBROBL=3
 198 :           SEGINI,NOMID
 199 :           IF (IFOU.LE.11) THEN
 200 :             LESOBL(1)='SMXX'
 201 :             LESOBL(2)='SMYY'
 202 :             LESOBL(3)='SMZZ'
 203 :           ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN
 204 :             LESOBL(1)='SMRR'
 205 :             LESOBL(2)='SMZZ'
 206 :             LESOBL(3)='SMTT'
 207 :           ELSE IF (IFOU.EQ.15) THEN
 208 :             LESOBL(1)='SMRR'
 209 : C  Voir TC pour LESOBL(2)='SMFF' ou 'SMPP'
 210 :             LESOBL(2)='SMZZ'
 211 :             LESOBL(3)='SMTT'
 212 :           ENDIF
 213 :         ENDIF
 214 : 
 215 : C  5 - Elements COQUES
 216 : C =====================
 217 :       ELSE IF (MFR.EQ.3.OR.MFR.EQ.39) THEN
 218 :         IF (NPINT.EQ.0)THEN
 219 : C =====
 220 : C  5.1 - Tridimensionnel et Fourier
 221 : C =====
 222 :           IF (IFOU.EQ.2.OR.IFOU.EQ.1) THEN
 223 :             NBROBL=6
 224 :             SEGINI,NOMID
 225 :             LESOBL(1)='N11 '
 226 :             LESOBL(2)='N22 '
 227 :             LESOBL(3)='N12 '
 228 :             LESOBL(4)='M11 '
 229 :             LESOBL(5)='M22 '
 230 :             LESOBL(6)='M12 '
 231 : C =====
 232 : C  5.2 - Axisymetrie
 233 : C =====
 234 :           ELSE IF (IFOU.EQ.0) THEN
 235 :             NBROBL=4
 236 :             SEGINI,NOMID
 237 :             LESOBL(1)='N11 '
 238 :             LESOBL(2)='N22 '
 239 :             LESOBL(3)='M11 '
 240 :             LESOBL(4)='M22 '
 241 : C =====
 242 : C  5.3 - Bidimensionnel PLAN (CP/DP/DPGE)
 243 : C =====
 244 :           ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
 245 :             NBROBL=4
 246 :             SEGINI,NOMID
 247 :             LESOBL(1)='N11 '
 248 :             LESOBL(2)='NZZ '
 249 :             LESOBL(3)='M11 '
 250 :             LESOBL(4)='MZZ '
 251 :           ENDIF
 252 :         ELSE
 253 : C =====
 254 : C  5.4 - Tridimensionnel - Cas particulier
 255 : C =====
 256 :           IF (MFR.EQ.3.AND.IFOU.EQ.2) THEN
 257 :             NBROBL=4
 258 :             SEGINI,NOMID
 259 :             LESOBL(1)='SMSS'
 260 :             LESOBL(2)='SMTT'
 261 :             LESOBL(3)='SMNN'
 262 :             LESOBL(4)='SMST'
 263 :           ENDIF
 264 :         ENDIF
 265 : 
 266 : C  6 - Elements de COQUE EPAISSE
 267 : C      Tridimensionnel, axisymetrie et Fourier
 268 : C =============================================
 269 :       ELSE IF (MFR.EQ.5) THEN
 270 :         NBROBL=5
 271 :         SEGINI,NOMID
 272 :         LESOBL(1)='SMSS'
 273 :         LESOBL(2)='SMTT'
 274 :         LESOBL(3)='SMST'
 275 :         LESOBL(4)='SMSN'
 276 :         LESOBL(5)='SMTN'
 277 : 
 278 : C  7 - LIA2 et JOI1: Element 3D de liaison a 2 noeuds
 279 : C =============================================
 280 :       ELSE IF (MFR.EQ.51.OR.MFR.EQ.75) THEN
 281 :        IF (IFOU.EQ.2) THEN
 282 :         NBROBL=6
 283 :         SEGINI,NOMID
 284 :         LESOBL(1)='EFFX'
 285 :         LESOBL(2)='EFFY'
 286 :         LESOBL(3)='EFFZ'
 287 :         LESOBL(4)='MOMX'
 288 :         LESOBL(5)='MOMY'
 289 :         LESOBL(6)='MOMZ'
 290 :        ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 291 :         NBROBL=3
 292 :         SEGINI,NOMID
 293 :         LESOBL(1)='EFFX'
 294 :         LESOBL(2)='EFFY'
 295 :         LESOBL(3)='MOMZ'
 296 :        ENDIF
 297 : 
 298 : C  8 - BAEX : BARRE EXCENTREE
 299 : C ============================
 300 :       ELSE IF (MFR.EQ.49) THEN
 301 :         NBROBL=1
 302 :         SEGINI,NOMID
 303 :         LESOBL(1)='EFFX'
 304 : 
 305 : C  9 - Elements POUTRE et TUYAU
 306 : C ==============================
 307 :       ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
 308 : C =====
 309 : C  9.1 - Tridimensionnel
 310 : C =====
 311 :         IF (IFOU.EQ.2) THEN
 312 :           NBROBL=6
 313 :           SEGINI,NOMID
 314 :           LESOBL(1)='EFFX'
 315 :           LESOBL(2)='EFFY'
 316 :           LESOBL(3)='EFFZ'
 317 :           LESOBL(4)='MOMX'
 318 :           LESOBL(5)='MOMY'
 319 :           LESOBL(6)='MOMZ'
 320 : C =====
 321 : C  9.2 - Bidimensionnel PLAN (CP/DP/DPGE)
 322 : C =====
 323 :         ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 324 :           NBROBL=3
 325 :           SEGINI,NOMID
 326 :           LESOBL(1)='EFFX'
 327 :           LESOBL(2)='EFFY'
 328 :           LESOBL(3)='MOMZ'
 329 :         ENDIF
 330 : 
 331 : C  10 - Element de COQUE en CISAILLEMENT TRANSVERSE
 332 : C ==================================================
 333 :       ELSE IF (MFR.EQ.9) THEN
 334 :         IF (NPINT.EQ.0) THEN
 335 : C ======
 336 : C  10.1 - Tridimensionnel
 337 : C ======
 338 :           IF (IFOU.EQ.2) THEN
 339 :             NBROBL=8
 340 :             SEGINI,NOMID
 341 :             LESOBL(1)='N11 '
 342 :             LESOBL(2)='N22 '
 343 :             LESOBL(3)='N12 '
 344 :             LESOBL(4)='M11 '
 345 :             LESOBL(5)='M22 '
 346 :             LESOBL(6)='M12 '
 347 :             LESOBL(7)='V1  '
 348 :             LESOBL(8)='V2  '
 349 :           ENDIF
 350 :         ENDIF
 351 : 
 352 : C  11 - Elements LINESPRING (tridimensionnel)
 353 : C ============================================
 354 :       ELSE IF (MFR.EQ.15) THEN
 355 :         IF (IFOU.EQ.2) THEN
 356 :           NBROBL=6
 357 :           SEGINI,NOMID
 358 :           LESOBL(1)='NZZ '
 359 :           LESOBL(2)='NXZ '
 360 :           LESOBL(3)='NYZ '
 361 :           LESOBL(4)='MXX '
 362 :           LESOBL(5)='MZZ '
 363 :           LESOBL(6)='KI  '
 364 :         ENDIF
 365 : 
 366 : C  12 - Elements de MEMBRANE
 367 : C ===========================
 368 :       ELSE IF (MFR.EQ.25) THEN
 369 :         NBROBL=3
 370 :         SEGINI,NOMID
 371 :         LESOBL(1)='SMSS'
 372 :         LESOBL(2)='SMTT'
 373 :         LESOBL(3)='SMST'
 374 : 
 375 : C  13 - Formulation UNIAXIALE
 376 : C =============================
 377 :       ELSE IF (MFR.EQ.27) THEN
 378 :         NBROBL=1
 379 :             MFR2 = infele(13)
 380 :             if (mfr2.eq.26) then
 381 :         NBRFAC = 1
 382 :             else if (mfr2.eq.28) then
 383 :         NBROBL=2
 384 :             endif
 385 :         SEGINI,NOMID
 386 :         LESOBL(1)='EFFX'
 387 :             if (mfr2.eq.26) then
 388 :            LESFAC(1) = 'FMOD'
 389 :             else if (mfr2.eq.28) then
 390 :            LESOBL(2) = 'FMOD'
 391 :             endif
 392 : 
 393 : C  14 - Formulation THERMIQUE
 394 : C ============================
 395 :       ELSE IF (MFR.EQ.29) THEN
 396 : C ======
 397 : C  14.1 - Tridimensionnel
 398 : C ======
 399 :         IF (IFOU.EQ.2) THEN
 400 :           NBROBL=3
 401 :           SEGINI,NOMID
 402 :           LESOBL(1)='FLUX'
 403 :           LESOBL(2)='FLUY'
 404 :           LESOBL(3)='FLUZ'
 405 : C ======
 406 : C  14.2 - Bidimensionnel PLAN (CP/DP/DPGE)
 407 : C ======
 408 :         ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
 409 :           NBROBL=2
 410 :           SEGINI,NOMID
 411 :           LESOBL(1)='FLUX'
 412 :           LESOBL(2)='FLUY'
 413 : C ======
 414 : C  14.3 - Axisymetrie et Fourier
 415 : C ======
 416 :         ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
 417 :           NBROBL=2
 418 :           SEGINI,NOMID
 419 :           LESOBL(1)='FLUX'
 420 :           LESOBL(2)='FLUY'
 421 : C ======
 422 : C  14.4 - Unidimensionnel (1D)
 423 : C ======
 424 :         ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
 425 :           NBROBL=1
 426 :           SEGINI,NOMID
 427 : C*OF      IF (IFOU.LE.11) THEN
 428 :             LESOBL(1)='FLUX'
 429 : C*OF      ELSE
 430 : C*OF        LESOBL(1)='FLUR'
 431 : C*OF      ENDIF
 432 :         ENDIF
 433 : 
 434 : C  15 - Formulation POREUX
 435 : C =========================
 436 :       ELSE IF (MFR.EQ.33) THEN
 437 : C =====
 438 : C  15.A - Elements POREUX
 439 : C ======
 440 :         IF (MELE.GE.79.AND.MELE.LE.83) THEN
 441 : C ========
 442 : C  15.A.1 - Bidimensionnel PLAN (CP/DP)
 443 : C ========
 444 :           IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 445 :             NBROBL=5
 446 :             SEGINI,NOMID
 447 :             LESOBL(1)='SMXX'
 448 :             LESOBL(2)='SMYY'
 449 :             LESOBL(3)='SMZZ'
 450 :             LESOBL(4)='SMXY'
 451 :             LESOBL(5)='MSR0'
 452 : C ========
 453 : C  15.A.2 - Axisymetrie
 454 : C ========
 455 :           ELSE IF (IFOU.EQ.0) THEN
 456 :             NBROBL=5
 457 :             SEGINI,NOMID
 458 :             LESOBL(1)='SMRR'
 459 :             LESOBL(2)='SMZZ'
 460 :             LESOBL(3)='SMTT'
 461 :             LESOBL(4)='SMRZ'
 462 :             LESOBL(5)='MSR0'
 463 : C ========
 464 : C  15.A.3 - Fourier
 465 : C ========
 466 :           ELSE IF (IFOU.EQ.1) THEN
 467 :             NBROBL=7
 468 :             SEGINI,NOMID
 469 :             LESOBL(1)='SMRR'
 470 :             LESOBL(2)='SMZZ'
 471 :             LESOBL(3)='SMTT'
 472 :             LESOBL(4)='SMRZ'
 473 :             LESOBL(5)='SMRT'
 474 :             LESOBL(6)='SMZT'
 475 :             LESOBL(7)='MSR0'
 476 : C ========
 477 : C  15.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
 478 : C ========
 479 :           ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
 480 :             NBROBL=7
 481 :             SEGINI,NOMID
 482 :             LESOBL(1)='SMXX'
 483 :             LESOBL(2)='SMYY'
 484 :             LESOBL(3)='SMZZ'
 485 :             LESOBL(4)='SMXY'
 486 :             LESOBL(5)='SMXZ'
 487 :             LESOBL(6)='SMYZ'
 488 :             LESOBL(7)='MSR0'
 489 :           ENDIF
 490 : C ======
 491 : C  15.B - Elements JOINT POREUX
 492 : C ======
 493 :         ELSE IF (MELE.GE.108.AND.MELE.LE.110) THEN
 494 : C ========
 495 : C  15.B.1 - Tridimensionnel
 496 : C ========
 497 :           IF (IFOU.EQ.2) THEN
 498 :             NBROBL=4
 499 :             SEGINI,NOMID
 500 :             LESOBL(1)='SMS1'
 501 :             LESOBL(2)='SMS2'
 502 :             LESOBL(3)='SMN '
 503 :             LESOBL(4)='MSR0'
 504 : C ========
 505 : C  15.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
 506 : C ========
 507 :           ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
 508 :             NBROBL=3
 509 :             SEGINI,NOMID
 510 :             LESOBL(1)='SMSN'
 511 :             LESOBL(2)='SMN '
 512 :             LESOBL(3)='MSR0'
 513 :           ENDIF
 514 :         ENDIF
 515 : 
 516 : C  16 - Formulation POREUX type Q
 517 : C ================================
 518 :       ELSE IF (MFR.EQ.57) THEN
 519 : C =====
 520 : C  16.A - Elements POREUX Q
 521 : C ======
 522 :         IF (MELE.GE.173.AND.MELE.LE.177) THEN
 523 : C ========
 524 : C  16.A.1 - Bidimensionnel PLAN (CP/DP)
 525 : C ========
 526 :           IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 527 :             NBROBL=6
 528 :             SEGINI,NOMID
 529 :             LESOBL(1)='SMXX'
 530 :             LESOBL(2)='SMYY'
 531 :             LESOBL(3)='SMZZ'
 532 :             LESOBL(4)='SMXY'
 533 :             LESOBL(5)='MSR0'
 534 :             LESOBL(6)='MSRQ'
 535 : C ========
 536 : C  16.A.2 - Axisymetrie
 537 : C ========
 538 :           ELSE IF (IFOU.EQ.0) THEN
 539 :             NBROBL=6
 540 :             SEGINI,NOMID
 541 :             LESOBL(1)='SMRR'
 542 :             LESOBL(2)='SMZZ'
 543 :             LESOBL(3)='SMTT'
 544 :             LESOBL(4)='SMRZ'
 545 :             LESOBL(5)='MSR0'
 546 :             LESOBL(6)='MSRQ'
 547 : C ========
 548 : C  16.A.3 - Fourier
 549 : C ========
 550 :           ELSE IF (IFOU.EQ.1) THEN
 551 :             NBROBL=8
 552 :             SEGINI,NOMID
 553 :             LESOBL(1)='SMRR'
 554 :             LESOBL(2)='SMZZ'
 555 :             LESOBL(3)='SMTT'
 556 :             LESOBL(4)='SMRZ'
 557 :             LESOBL(5)='SMRT'
 558 :             LESOBL(6)='SMZT'
 559 :             LESOBL(7)='MSR0'
 560 :             LESOBL(8)='MSRQ'
 561 : C ========
 562 : C  16.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
 563 : C ========
 564 :           ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
 565 :             NBROBL=8
 566 :             SEGINI,NOMID
 567 :             LESOBL(1)='SMXX'
 568 :             LESOBL(2)='SMYY'
 569 :             LESOBL(3)='SMZZ'
 570 :             LESOBL(4)='SMXY'
 571 :             LESOBL(5)='SMXZ'
 572 :             LESOBL(6)='SMYZ'
 573 :             LESOBL(7)='MSR0'
 574 :             LESOBL(8)='MSRQ'
 575 :           ENDIF
 576 : C ======
 577 : C  16.B - Elements JOINT POREUX Q
 578 : C ======
 579 :         ELSE IF (MELE.GE.185.AND.MELE.LE.187) THEN
 580 : C ========
 581 : C  16.B.1 - Tridimensionnel
 582 : C ========
 583 :           IF (IFOU.EQ.2) THEN
 584 :             NBROBL=5
 585 :             SEGINI,NOMID
 586 :             LESOBL(1)='SMS1'
 587 :             LESOBL(2)='SMS2'
 588 :             LESOBL(3)='SMN '
 589 :             LESOBL(4)='MSR0'
 590 :             LESOBL(5)='MSRQ'
 591 : C ========
 592 : C  16.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
 593 : C ========
 594 :           ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
 595 :             NBROBL=4
 596 :             SEGINI,NOMID
 597 :             LESOBL(1)='SMSN'
 598 :             LESOBL(2)='SMN '
 599 :             LESOBL(3)='MSR0'
 600 :             LESOBL(4)='MSRQ'
 601 :           ENDIF
 602 :         ENDIF
 603 : 
 604 : C  17 - Formulation POREUX type R
 605 : C ================================
 606 :       ELSE IF (MFR.EQ.59) THEN
 607 : C =====
 608 : C  17.A - Elements POREUX R
 609 : C ======
 610 :         IF (MELE.GE.178.AND.MELE.LE.182) THEN
 611 : C ========
 612 : C  17.A.1 - Bidimensionnel PLAN (CP/DP)
 613 : C ========
 614 :           IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
 615 :             NBROBL=7
 616 :             SEGINI,NOMID
 617 :             LESOBL(1)='SMXX'
 618 :             LESOBL(2)='SMYY'
 619 :             LESOBL(3)='SMZZ'
 620 :             LESOBL(4)='SMXY'
 621 :             LESOBL(5)='MSR0'
 622 :             LESOBL(6)='MSRQ'
 623 :             LESOBL(7)='TREN'
 624 :           ELSE IF (IFOU.EQ.0) THEN
 625 : C ========
 626 : C  17.A.2 - Axisymetrie
 627 : C ========
 628 :             NBROBL=7
 629 :             SEGINI,NOMID
 630 :             LESOBL(1)='SMRR'
 631 :             LESOBL(2)='SMZZ'
 632 :             LESOBL(3)='SMTT'
 633 :             LESOBL(4)='SMRZ'
 634 :             LESOBL(5)='MSR0'
 635 :             LESOBL(6)='MSRQ'
 636 :             LESOBL(7)='TREN'
 637 : C ========
 638 : C  17.A.3 - Fourier
 639 : C ========
 640 :           ELSE IF (IFOU.EQ.1) THEN
 641 :             NBROBL=9
 642 :             SEGINI,NOMID
 643 :             LESOBL(1)='SMRR'
 644 :             LESOBL(2)='SMZZ'
 645 :             LESOBL(3)='SMTT'
 646 :             LESOBL(4)='SMRZ'
 647 :             LESOBL(5)='SMRT'
 648 :             LESOBL(6)='SMZT'
 649 :             LESOBL(7)='MSR0'
 650 :             LESOBL(8)='MSRQ'
 651 :             LESOBL(9)='TREN'
 652 : C ========
 653 : C  17.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
 654 : C ========
 655 :           ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
 656 :             NBROBL=9
 657 :             SEGINI,NOMID
 658 :             LESOBL(1)='SMXX'
 659 :             LESOBL(2)='SMYY'
 660 :             LESOBL(3)='SMZZ'
 661 :             LESOBL(4)='SMXY'
 662 :             LESOBL(5)='SMXZ'
 663 :             LESOBL(6)='SMYZ'
 664 :             LESOBL(7)='MSR0'
 665 :             LESOBL(8)='MSRQ'
 666 :             LESOBL(9)='TREN'
 667 :           ENDIF
 668 : C ======
 669 : C  17.B - Elements JOINT POREUX R
 670 : C ======
 671 :         ELSE IF (MELE.GE.188.AND.MELE.LE.190) THEN
 672 : C ========
 673 : C  17.B.1 - Tridimensionnel
 674 : C ========
 675 :           IF (IFOU.EQ.2) THEN
 676 :             NBROBL=61
 677 :             SEGINI,NOMID
 678 :             LESOBL(1)='SMS1'
 679 :             LESOBL(2)='SMS2'
 680 :             LESOBL(3)='SMN '
 681 :             LESOBL(4)='MSR0'
 682 :             LESOBL(5)='MSRQ'
 683 :             LESOBL(6)='TREN'
 684 : C ========
 685 : C  17.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
 686 : C ========
 687 :           ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
 688 :             NBROBL=5
 689 :             SEGINI,NOMID
 690 :             LESOBL(1)='SMSN'
 691 :             LESOBL(2)='SMN '
 692 :             LESOBL(3)='MSR0'
 693 :             LESOBL(4)='MSRQ'
 694 :             LESOBL(5)='TREN'
 695 :           ENDIF
 696 :         ENDIF
 697 : 
 698 : C  18 - Elements TUYAU FISSURE (tridimensionnel)
 699 : C ===============================================
 700 :       ELSE IF (MFR.EQ.17) THEN
 701 :         IF (IFOU.EQ.2) THEN
 702 :           NBROBL=8
 703 :           SEGINI,NOMID
 704 :           LESOBL(1)='EFFX'
 705 :           LESOBL(2)='EFFY'
 706 :           LESOBL(3)='EFFZ'
 707 :           LESOBL(4)='MOMX'
 708 :           LESOBL(5)='MOMY'
 709 :           LESOBL(6)='MOMZ'
 710 :           LESOBL(7)='KI  '
 711 :           LESOBL(8)='AIRE'
 712 :         ENDIF
 713 : 
 714 : C  19 - Elements de SECTION/FIBRE
 715 : C ================================
 716 :       ELSE IF (MFR.EQ.47) THEN
 717 : C ======
 718 : C  19.1 - Bidimensionnel PLAN (CP/DP/DPGE)
 719 : C ======
 720 :         IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
 721 :           NBROBL=2
 722 :           SEGINI,NOMID
 723 :           LESOBL(1)='SMXX'
 724 :           LESOBL(2)='SMXY'
 725 : C ======
 726 : C  19.2 - Tridimensionnel
 727 : C ======
 728 :         ELSE IF (IFOU.EQ.2) THEN
 729 :           NBROBL=3
 730 :           SEGINI,NOMID
 731 :           LESOBL(1)='SMXX'
 732 :           LESOBL(2)='SMXY'
 733 :           LESOBL(3)='SMXZ'
 734 :         ENDIF
 735 : 
 736 : C 
 737 : C  20 - Elements de zones cohesives
 738 : C ==================================
 739 :       ELSE IF (MFR.EQ.77) THEN
 740 : C =====
 741 : C 20.1 - Tridimensionnel
 742 : C =====
 743 :         IF (IFOU.EQ.2) THEN
 744 :           NBROBL=3
 745 :           SEGINI,NOMID
 746 :           LESOBL(1)='SMS1'
 747 :           LESOBL(2)='SMS2'
 748 :           LESOBL(3)='SMN '
 749 : C =====
 750 : C 20.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
 751 : C =====
 752 :         ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.
 753 :      .           (IFOU.EQ.0)) THEN
 754 :           NBROBL=2
 755 :           SEGINI,NOMID
 756 :           LESOBL(1)='SMSN'
 757 :           LESOBL(2)='SMN '
 758 :         ENDIF
 759 : 
 760 : 
 761 : C  21 - Formulation ELECTROSTATIQUE (base MASSIF)
 762 : C ==================================
 763 :       ELSE IF (MFR.EQ.71) THEN
 764 : C ======
 765 : C  21.1 - Tridimensionnel
 766 : C ======
 767 :         IF (IFOU.EQ.2) THEN
 768 :           NBROBL=3
 769 :           SEGINI,NOMID
 770 :           LESOBL(1)='DELX    '
 771 :           LESOBL(2)='DELY    '
 772 :           LESOBL(3)='DELZ    '
 773 : C ======
 774 : C  21.2 - Bidimensionnel PLAN (CP/DP/DPGE)
 775 : C ======
 776 :         ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
 777 :           NBROBL=2
 778 :           SEGINI,NOMID
 779 :           LESOBL(1)='DELX    '
 780 :           LESOBL(2)='DELY    '
 781 : C ======
 782 : C  21.3 - Axisymetrie et Fourier
 783 : C ======
 784 :         ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
 785 :           NBROBL=2
 786 :           SEGINI,NOMID
 787 :           LESOBL(1)='DELR    '
 788 :           LESOBL(2)='DELZ    '
 789 : C ======
 790 : C  21.4 - Unidimensionnel (1D)
 791 : C ======
 792 :         ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
 793 :           NBROBL=1
 794 :           SEGINI,NOMID
 795 :           IF (IFOU.LE.11) THEN
 796 :             LESOBL(1)='DELX    '
 797 :           ELSE
 798 :             LESOBL(1)='DELR    '
 799 :           ENDIF
 800 :         ENDIF
 801 : 
 802 : C  22 - Formulation DIFFUSION (base MASSIF)
 803 : C ============================
 804 :       ELSE IF (MFR.EQ.73) THEN
 805 : C ======
 806 : C  22.1 - Tridimensionnel
 807 : C ======
 808 :         IF (IFOU.EQ.2) THEN
 809 :           NBROBL=3
 810 :           SEGINI,NOMID
 811 :           LESOBL(1)='FX      '
 812 :           LESOBL(2)='FY      '
 813 :           LESOBL(3)='FZ      '
 814 : C ======
 815 : C  22.2 - Bidimensionnel PLAN (CP/DP/DPGE)
 816 : C ======
 817 :         ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
 818 :           NBROBL=2
 819 :           SEGINI,NOMID
 820 :           LESOBL(1)='FX      '
 821 :           LESOBL(2)='FY      '
 822 : C ======
 823 : C  22.3 - Axisymetrie et Fourier
 824 : C ======
 825 :         ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
 826 :           NBROBL=2
 827 :           SEGINI,NOMID
 828 :           LESOBL(1)='FR      '
 829 :           LESOBL(2)='FZ      '
 830 : C ======
 831 : C  22.4 - Unidimensionnel (1D)
 832 : C ======
 833 :         ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
 834 :           NBROBL=1
 835 :           SEGINI,NOMID
 836 :           IF (IFOU.LE.11) THEN
 837 :             LESOBL(1)='FX      '
 838 :           ELSE
 839 :             LESOBL(1)='FR      '
 840 :           ENDIF
 841 :         ENDIF
 842 : 
 843 : C* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1)
 844 :         DO i=1,NBROBL
 845 : C*8       LESOBL(i)(3:8)=TYMODE(1)(1:6)
 846 :           LESOBL(i)(3:4)=TYMODE(1)(1:2)
 847 :         ENDDO
 848 : 
 849 :       ENDIF
 850 : 
 851 : C  Par DEFAUT : segment VIDE
 852 : C ===========================
 853 :   100 CONTINUE
 854 :       IF (NOMID.EQ.0) THEN
 855 :         SEGINI,NOMID
 856 :       ELSE
 857 :         if (ifomod.eq.6.and.(.not.dcmate)) then
 858 :           nbrfa0 = nbrfac
 859 :           NBRFAC = NBROBL + nbrfa0
 860 :           if (mfr2.eq.28.or.mfr2.eq.26) NBRFAC = nbrfa0 + 1
 861 :           segadj nomid
 862 :           if (mfr2.eq.28.or.mfr2.eq.26) then
 863 :            lesfac(nbrfa0 +1) = 'IFFX'
 864 :           else
 865 :           do imo = 1,nbrobl
 866 :            lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(2:4)
 867 :            lesfac(nbrfa0 + imo)(1:1) = 'I'
 868 :           enddo
 869 :           endif
 870 :         endif
 871 :       ENDIF
 872 : 
 873 :       SEGDES,NOMID
 874 :       IPNOMC=NOMID
 875 : 
 876 :       RETURN
 877 :       END
 878 : 
 879 :  
 880 :  
 881 :  
 882 :  
 883 :  
 884 :  

© Cast3M 2003 - All rights reserved.
Disclaimer