C IDDEFO SOURCE AM 12/02/06 21:15:40 7281 C======================================================================= C= RECHERCHE DES NOMS DE COMPOSANTES DE DEFORMATIONS = C= ------------------------------------------------- = C= = C= Entrees : = C= IPMODL pointeur ACTIF sur objet IMODEL = C= IFOU valeur de IFOUR de CCOPTIO = C= = C= Sorties : = C= IPNOMC pointeur de type NOMID sur les listes de noms de = C= composantes OBLigatoires et FACultatives = C= NBROBL nombre de composantes OBLigatoires = C= NBRFAC nombre de composantes FACultatives = C======================================================================= SUBROUTINE IDDEFO (IPMODL,IFOU,IPNOMC,NBROBL,NBRFAC) IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC SMMODEL logical dcmate NBROBL=0 NBRFAC=0 NOMID=0 IMODEL=IPMODL MELE=NEFMOD MFR=NUMMFR(MELE) dcmate = .false. IF (FORMOD(1).eq.'MECANIQUE') THEN DO imat = 1 , matmod(/2) if (matmod(imat).eq.'IMPEDANCE') then MFR2 = infele(13) if (mfr2.eq.26.or.mfr2.eq.28) mfr = mfr2 call iddepl(MFR,IFOU,IPNOMC,NBROBL,NBRFAC) dcmate = .true. nomid = ipnomc segact nomid*mod do io = 1,nbrobl lesobl(io)(2:4)=lesobl(io)(1:3) lesobl(io)(1:1)='E' enddo do io = 1,nbrfac lesfac(io)(2:4)=lesfac(io)(1:3) lesfac(io)(1:1)='E' enddo segdes nomid return endif ENDDO ENDIF IF (FORMOD(1).EQ.'ELECTROSTATIQUE') MFR = 71 IF (FORMOD(1).EQ.'DIFFUSION') MFR = 73 mfr2=0 CALL PLACE(FORMOD,FORMOD(/2),ITHEHY,'THERMOHYDRIQUE') CALL PLACE(FORMOD,FORMOD(/2),ITTHE,'CONVECTION') CALL PLACE(FORMOD,FORMOD(/2),ITHER,'THERMIQUE') ITHER=ITHER+ITTHE CALL PLACE(FORMOD,FORMOD(/2),IMAGN,'MAGNETODYNAMIQUE') if(ithehy.eq.1) mfr2=65 if(ITHER.eq.1 ) mfr2=29 if(IMAGN.eq.1 ) mfr2=69 IF(mfr2.ne.0) go to 100 C Coque integree ou pas ? NPINT=0 IF (INFMOD(/1).NE.0) NPINT=INFMOD(1) C * * -1/ MACRO ELEMENT * IF (MFR.EQ.61)THEN IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN * * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES * NBROBL=5 SEGINI NOMID LESOBL(1)='EPS1' LESOBL(2)='CZ1 ' LESOBL(3)='GXY ' LESOBL(4)='EPS2' LESOBL(5)='CZ2 ' ENDIF C 1 - Element JOINT C =================== ELSE IF (MFR.EQ.35) THEN C ===== C 1.1 - Tridimensionnel C ===== IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' C ===== C 1.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie C ===== ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR. . (IFOU.EQ.0)) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' ENDIF C 2 - Element JOINT CISAILLEMENT (2D) C Bidimensionnel PLAN (CP/DP/DPGE) C ====================================== ELSE IF (MFR.EQ.53) THEN IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' ENDIF C 3 - Element JOINT GENERALISE C ============================== ELSE IF (MFR.EQ.55) THEN C ===== C 3.1 - Bidimensionnel PLAN (CP/DP/DPGE) C ===== IF ((IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.(IFOU.EQ.-3)) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' LESOBL(3)='EPTT' LESOBL(4)='EPZZ' C ===== C 3.2 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' LESOBL(4)='EPTT' LESOBL(5)='EPUU' LESOBL(6)='GATU' ENDIF C 4 - Elements MASSIFS C ====================== ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.63) THEN C ===== C 4.1 - Bidimensionnel PLAN (CP/DP/DPGE) C ===== IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' C ===== C 4.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' C ===== C 4.3 - Fourier C ===== ELSE IF (IFOU.EQ.1) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='GART' LESOBL(6)='GAZT' C ===== C 4.4 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='GAXZ' LESOBL(6)='GAYZ' C ===== C 4.5 - Unidimensionnel (1D) C ===== ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN NBROBL=3 SEGINI,NOMID IF (IFOU.LE.11) THEN LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' ELSE IF (IFOU.EQ.15) THEN LESOBL(1)='EPRR' C Voir TC pour LESOBL(2)='EPFF' ? LESOBL(2)='EPZZ' LESOBL(3)='EPTT' ENDIF ENDIF C 5 - Elements COQUES C ===================== ELSE IF (MFR.EQ.3.OR.MFR.EQ.39) THEN IF (NPINT.EQ.0) THEN C ===== C 5.1 - Tridimensionnel et Fourier C ===== IF (IFOU.EQ.2.OR.IFOU.EQ.1) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='GAST' LESOBL(4)='RTSS' LESOBL(5)='RTTT' LESOBL(6)='RTST' C ===== C 5.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='RTSS' LESOBL(4)='RTTT' C ===== C 5.3 - Bidimensionnel PLAN (CP/DP/DPGE) C ===== ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPZZ' LESOBL(3)='RTSS' LESOBL(4)='RTZZ' ENDIF ELSE C ===== C 5.4 - Tridimensionnel - Cas particulier C ===== IF (MFR.EQ.3.AND.IFOU.EQ.2) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='EPNN' LESOBL(4)='GAST' ENDIF ENDIF C 6 - Elements de COQUE EPAISSE C Tridimensionnel, axisymetrie et Fourier C ============================================= ELSE IF (MFR.EQ.5) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='GAST' LESOBL(4)='GASN' LESOBL(5)='GATN' C 7 - LIA2: Element 3D de liaison a 2 noeuds C ============================================= ELSE IF (MFR.EQ.51) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPS ' LESOBL(2)='GXY ' LESOBL(3)='GXZ ' LESOBL(4)='CX ' LESOBL(5)='CY ' LESOBL(6)='CZ ' C 7bis - JOI1: Element 3D de liaison a 2 noeuds C ============================================= ELSE IF (MFR.EQ.75) THEN IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EXX ' LESOBL(2)='GXY ' LESOBL(3)='GXZ ' LESOBL(4)='CXX ' LESOBL(5)='CXY ' LESOBL(6)='CXZ ' ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EXX ' LESOBL(2)='GXY ' LESOBL(3)='CXZ ' ENDIF C 8 - BAEX : BARRE EXCENTREE C ============================ ELSE IF (MFR.EQ.49) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='EPSS' C 9 - Elements POUTRE et TUYAU C ============================== ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN C ===== C 9.1 - Tridimensionnel C ===== IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPS ' LESOBL(2)='GXY ' LESOBL(3)='GXZ ' LESOBL(4)='CX ' LESOBL(5)='CY ' LESOBL(6)='CZ ' C ===== C 9.2 - Bidimensionnel PLAN (CP/DP/DPGE) C ===== ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EPS ' LESOBL(2)='GXY ' LESOBL(3)='CZ ' ENDIF C 10 - Element de COQUE en CISAILLEMENT TRANSVERSE C ================================================== ELSE IF (MFR.EQ.9) THEN IF (NPINT.EQ.0) THEN C ====== C 10.1 - Tridimensionnel C ====== IF (IFOU.EQ.2) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='GAST' LESOBL(4)='RTSS' LESOBL(5)='RTTT' LESOBL(6)='RTST' LESOBL(7)='GASN' LESOBL(8)='GATN' ENDIF ENDIF C 11 - Elements LINESPRING (tridimensionnel) C ============================================ ELSE IF (MFR.EQ.15) THEN IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPZZ' LESOBL(2)='GAXZ' LESOBL(3)='GAYZ' LESOBL(4)='RTXX' LESOBL(5)='RTZZ' LESOBL(6)='DJP ' ENDIF C 12 - Elements de MEMBRANE C =========================== ELSE IF (MFR.EQ.25) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EPSS' LESOBL(2)='EPTT' LESOBL(3)='GAST' C 13 - Formulation UNIAXIALE C ============================= ELSE IF (MFR.EQ.27) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='EPSS' C 14 - Formulation THERMIQUE C ============================ ELSE IF (MFR.EQ.29) THEN C ====== C 14.1 - Tridimensionnel C ====== IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='GRDX' LESOBL(2)='GRDY' LESOBL(3)='GRDZ' C ====== C 14.2 - Bidimensionnel PLAN (CP/DP/DPGE) C ====== ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='GRDX' LESOBL(2)='GRDY' C ====== C 14.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='GRDX' LESOBL(2)='GRDY' C*OF LESOBL(1)='GRDR' C*OF LESOBL(2)='GRDZ' C ====== C 14.4 - Unidimensionnel (1D) C ====== ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN NBROBL=1 SEGINI,NOMID C*OF IF (IFOU.LE.11) THEN LESOBL(1)='GRDX' C*OF ELSE C*OF LESOBL(1)='GRDR' C*OF ENDIF ENDIF C 15 - Formulation POREUX C ========================= ELSE IF (MFR.EQ.33) THEN C ===== C 15.A - Elements POREUX C ====== IF (MELE.GE.79.AND.MELE.LE.83) THEN C ======== C 15.A.1 - Bidimensionnel PLAN (CP/DP) C ======== IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='PRES' C ======== C 15.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='PRES' C ======== C 15.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=7 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='GART' LESOBL(6)='GAZT' LESOBL(7)='PRES' C ======== C 15.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE C ======== ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN NBROBL=7 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='GAXZ' LESOBL(6)='GAYZ' LESOBL(7)='PRES' ENDIF C ====== C 15.B - Elements JOINT POREUX C ====== ELSE IF (MELE.GE.108.AND.MELE.LE.110) THEN C ======== C 15.B.1 - Tridimensionnel C ======== IF (IFOU.EQ.2) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' LESOBL(4)='PRES' C ======== C 15.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie C ======== ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' LESOBL(3)='PRES' ENDIF ENDIF C 16 - Formulation POREUX type Q C ================================ ELSE IF (MFR.EQ.57) THEN C ===== C 16.A - Elements POREUX Q C ====== IF (MELE.GE.173.AND.MELE.LE.177) THEN C ======== C 16.A.1 - Bidimensionnel PLAN (CP/DP) C ======== IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='PRES' LESOBL(6)='PREQ' C ======== C 16.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='PRES' LESOBL(6)='PREQ' C ======== C 16.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='GART' LESOBL(6)='GAZT' LESOBL(7)='PRES' LESOBL(8)='PREQ' C ======== C 16.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE C ======== ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='GAXZ' LESOBL(6)='GAYZ' LESOBL(7)='PRES' LESOBL(8)='PREQ' ENDIF C ====== C 16.B - Elements JOINT POREUX Q C ====== ELSE IF (MELE.GE.185.AND.MELE.LE.187) THEN C ======== C 16.B.1 - Tridimensionnel C ======== IF (IFOU.EQ.2) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' LESOBL(4)='PRES' LESOBL(5)='PREQ' C ======== C 16.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie C ======== ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' LESOBL(3)='PRES' LESOBL(4)='PREQ' ENDIF ENDIF C 17 - Formulation POREUX type R C ================================ ELSE IF (MFR.EQ.59) THEN C ===== C 17.A - Elements POREUX R C ====== IF (MELE.GE.178.AND.MELE.LE.182) THEN C ======== C 17.A.1 - Bidimensionnel PLAN (CP/DP) C ======== IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=7 SEGINI NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='PRES' LESOBL(6)='PREQ' LESOBL(7)='TPT ' C ======== C 17.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=7 SEGINI NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='PRES' LESOBL(6)='PREQ' LESOBL(7)='TPT ' C ======== C 17.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=9 SEGINI,NOMID LESOBL(1)='EPRR' LESOBL(2)='EPZZ' LESOBL(3)='EPTT' LESOBL(4)='GARZ' LESOBL(5)='GART' LESOBL(6)='GAZT' LESOBL(7)='PRES' LESOBL(8)='PREQ' LESOBL(9)='TPT ' C ======== C 17.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE C ======== ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN NBROBL=9 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='EPYY' LESOBL(3)='EPZZ' LESOBL(4)='GAXY' LESOBL(5)='GAXZ' LESOBL(6)='GAYZ' LESOBL(7)='PRES' LESOBL(8)='PREQ' LESOBL(9)='TPT ' ENDIF C ====== C 17.B - Elements JOINT POREUX R C ====== ELSE IF (MELE.GE.188.AND.MELE.LE.190) THEN C ======== C 17.B.1 - Tridimensionnel C ======== IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' LESOBL(4)='PRES' LESOBL(5)='PREQ' LESOBL(6)='TPT ' C ======== C 17.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie C ======== ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' LESOBL(3)='PRES' LESOBL(4)='PREQ' LESOBL(5)='TPT ' ENDIF ENDIF C 18 - Elements TUYAU FISSURE (tridimensionnel) C =============================================== ELSE IF (MFR.EQ.17) THEN IF (IFOU.EQ.2) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='EPS ' LESOBL(2)='GXY ' LESOBL(3)='GXZ ' LESOBL(4)='CX ' LESOBL(5)='CY ' LESOBL(6)='CZ ' LESOBL(7)='EPS7' LESOBL(8)='EPS8' ENDIF C 19 - Elements de SECTION/FIBRE C ================================ ELSE IF (MFR.EQ.47) THEN C ====== C 19.1 - Bidimensionnel PLAN (CP/DP/DPGE) C ====== IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='GAXY' C ====== C 19.2 - Tridimensionnel C ====== ELSE IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EPXX' LESOBL(2)='GAXY' LESOBL(3)='GAXZ' ENDIF C 20 - Elements de zones cohesives C ================================== ELSE IF (MFR.EQ.77) THEN C ===== C 20.1 - Tridimensionnel C ===== IF (IFOU.GT.0) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='DRS1' LESOBL(2)='DRS2' LESOBL(3)='DRN ' C ===== C 20.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie C ===== ELSE IF (IFOU.LE.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='DRSN' LESOBL(2)='DRN ' ENDIF C 21 - Formulation ELECTROSTATIQUE (base MASSIF) C ================================== ELSE IF (MFR.EQ.71) THEN C ====== C 21.1 - Tridimensionnel C ====== IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EELX ' LESOBL(2)='EELY ' LESOBL(3)='EELZ ' C ====== C 21.2 - Bidimensionnel PLAN (CP/DP/DPGE) C ====== ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='EELX ' LESOBL(2)='EELY ' C ====== C 21.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='EELR ' LESOBL(2)='EELZ ' C ====== C 21.4 - Unidimensionnel (1D) C ====== ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN NBROBL=1 SEGINI,NOMID IF (IFOU.LE.11) THEN LESOBL(1)='EELX ' ELSE LESOBL(1)='EELR ' ENDIF ENDIF C 22 - Formulation DIFFUSION (base MASSIF) C ============================ ELSE IF (MFR.EQ.73) THEN C ====== C 22.1 - Tridimensionnel C ====== IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='GX ' LESOBL(2)='GY ' LESOBL(3)='GZ ' C ====== C 22.2 - Bidimensionnel PLAN (CP/DP/DPGE) C ====== ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='GX ' LESOBL(2)='GY ' C ====== C 22.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='GR ' LESOBL(2)='GZ ' C ====== C 22.4 - Unidimensionnel (1D) C ====== ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN NBROBL=1 SEGINI,NOMID IF (IFOU.LE.11) THEN LESOBL(1)='GX ' ELSE LESOBL(1)='GR ' ENDIF ENDIF C* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1) DO i=1,NBROBL C* LESOBL(i)(3:8)=TYMODE(1)(1:6) LESOBL(i)(3:4)=TYMODE(1)(1:2) ENDDO ENDIF C Par DEFAUT : segment VIDE C =========================== 100 continue IF (NOMID.EQ.0) THEN SEGINI,NOMID ELSE if (ifomod.eq.6.and.(.not.dcmate)) then nbrfa0 = nbrfac NBRFAC = NBROBL + (nbrfa0*2) segadj nomid do imo = 1,nbrobl lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(1:3) lesfac(nbrfa0 + imo)(1:1) = 'I' enddo do imo = 1,nbrfa0 lesfac(nbrfa0+nbrobl+imo)(2:4) = lesfac(imo)(1:3) lesfac(nbrfa0+nbrobl+imo)(1:1) = 'I' enddo endif ENDIF SEGDES,NOMID IPNOMC=NOMID RETURN END