iddein
C IDDEIN SOURCE OF166741 24/10/07 21:15:25 12016 C======================================================================= C= RECHERCHE DES NOMS DE COMPOSANTES DE DEFORMATIONS INELASTIQUES = 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======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO C==DEB= FORMULATION HHO == Include specifique ========================== -INC CCHHOPA C==FIN= FORMULATION HHO ================================================ -INC SMMODEL IPNOMC=0 NBROBL=0 NBRFAC=0 NOMID =0 IMODEL=IPMODL MELE=NEFMOD NFOR=FORMOD(/2) mfr2=0 IF (ITHHY.NE.0) mfr2=65 if (ITHER.NE.0) mfr2=29 if (IMAGN.NE.0) mfr2=69 IF (IELEC.NE.0) mfr2=71 IF (IDIFF.NE.0) mfr2=73 if (IMET.NE.0) mfr2=29 IF (mfr2.NE.0) GOTO 100 C Coque integree ou pas ? NPINT=INFMOD(1) * * -1/ MACRO ELEMENT * IF (MFR.EQ.61)THEN C IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN * * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES * NBROBL=5 SEGINI NOMID LESOBL(1)='EIS1' LESOBL(2)='CIZ1' LESOBL(3)='GIXY' LESOBL(4)='EIS2' LESOBL(5)='CIZ2' 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)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' 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)='FRSN' LESOBL(2)='FRN ' 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)='FRS1' LESOBL(2)='FRS2' 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)='FRSN' LESOBL(2)='FRN ' LESOBL(3)='EITT' LESOBL(4)='EIZZ' C ===== C 3.2 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' LESOBL(4)='EITT' LESOBL(5)='EIUU' LESOBL(6)='GITU' ENDIF C 4 - Elements MASSIFS + FORMULATION HHO C ====================== ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.or.MFR.EQ.63.or. & MFR.EQ.HHO_MFR_ELEMENT) 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' C ===== C 4.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' C ===== C 4.3 - Fourier C ===== ELSE IF (IFOU.EQ.1) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='GIRT' LESOBL(6)='GIZT' C ===== C 4.4 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='GIXZ' LESOBL(6)='GIYZ' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' ELSE IF (IFOU.EQ.15) THEN LESOBL(1)='EIRR' C Voir TC pour LESOBL(2)='EIFF' LESOBL(2)='EIZZ' LESOBL(3)='EITT' 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)='EISS' LESOBL(2)='EITT' LESOBL(3)='GIST' LESOBL(4)='RISS' LESOBL(5)='RITT' LESOBL(6)='RIST' C ===== C 5.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='EISS' LESOBL(2)='EITT' LESOBL(3)='RISS' LESOBL(4)='RITT' 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)='EISS' LESOBL(2)='EIZZ' LESOBL(3)='RISS' LESOBL(4)='RIZZ' 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)='EISS' LESOBL(2)='EITT' LESOBL(3)='EINN' LESOBL(4)='GIST' 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)='EISS' LESOBL(2)='EITT' LESOBL(3)='GIST' LESOBL(4)='GISN' LESOBL(5)='GITN' C 7 - LIA2 : Element 3D de liaison a 2 noeuds C ============================================= ELSE IF (MFR.EQ.51) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='FEPS' LESOBL(2)='FGXY' LESOBL(3)='FGXZ' LESOBL(4)='FFCX' LESOBL(5)='FFCY' LESOBL(6)='FFCZ' 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)='FEXX ' LESOBL(2)='FGXY ' LESOBL(3)='FGXZ ' LESOBL(4)='FCXX ' LESOBL(5)='FCXY ' LESOBL(6)='FCXZ ' ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='FEXX ' LESOBL(2)='FGXY ' LESOBL(3)='FCXZ ' ENDIF C 8 - BAEX : BARRE EXCENTREE C ============================ ELSE IF (MFR.EQ.49) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='EISS' 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)='FEPS' LESOBL(2)='FGXY' LESOBL(3)='FGXZ' LESOBL(4)='FFCX' LESOBL(5)='FFCY' LESOBL(6)='FFCZ' 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)='FEPS' LESOBL(2)='FGXY' LESOBL(3)='FFCZ' 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)='EISS' LESOBL(2)='EITT' LESOBL(3)='GIST' LESOBL(4)='RISS' LESOBL(5)='RITT' LESOBL(6)='RIST' LESOBL(7)='GISN' LESOBL(8)='GITN' 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)='EIZZ' LESOBL(2)='GIXZ' LESOBL(3)='GIYZ' LESOBL(4)='RIXX' LESOBL(5)='RIZZ' LESOBL(6)='FDJP' ENDIF C 12 - Elements de MEMBRANE C =========================== ELSE IF (MFR.EQ.25) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EISS' LESOBL(2)='EITT' LESOBL(3)='GIST' C 13 - Formulation UNIAXIALE C ============================= ELSE IF (MFR.EQ.27) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='EISS' 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)='FRDX' LESOBL(2)='FRDY' LESOBL(3)='FRDZ' 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)='FRDX' LESOBL(2)='FRDY' C ====== C 14.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='FRDX' LESOBL(2)='FRDY' C*OF LESOBL(1)='FRDR' C*OF LESOBL(2)='FRDZ' 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)='FRDX' C*OF ELSE C*OF LESOBL(1)='FRDR' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='PIDE' C ======== C 15.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='PIDE' C ======== C 15.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=7 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='GIRT' LESOBL(6)='GIZT' LESOBL(7)='PIDE' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='GIXZ' LESOBL(6)='GIYZ' LESOBL(7)='PIDE' 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)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' LESOBL(4)='PIDE' 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)='FRSN' LESOBL(2)='FRN ' LESOBL(3)='PIDE' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='PIDE' LESOBL(6)='QIDE' C ======== C 16.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='PIDE' LESOBL(6)='QIDE' C ======== C 16.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='GIRT' LESOBL(6)='GIZT' LESOBL(7)='PIDE' LESOBL(8)='QIDE' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='GIXZ' LESOBL(6)='GIYZ' LESOBL(7)='PIDE' LESOBL(8)='QIDE' 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)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' LESOBL(4)='PIDE' LESOBL(5)='QIDE' 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)='FRSN' LESOBL(2)='FRN ' LESOBL(3)='PIDE' LESOBL(4)='QIDE' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='PIDE' LESOBL(6)='QIDE' LESOBL(7)='TIDE' C ======== C 17.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=7 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='PIDE' LESOBL(6)='QIDE' LESOBL(7)='TIDE' C ======== C 17.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=9 SEGINI,NOMID LESOBL(1)='EIRR' LESOBL(2)='EIZZ' LESOBL(3)='EITT' LESOBL(4)='GIRZ' LESOBL(5)='GIRT' LESOBL(6)='GIZT' LESOBL(7)='PIDE' LESOBL(8)='QIDE' LESOBL(9)='TIDE' 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)='EIXX' LESOBL(2)='EIYY' LESOBL(3)='EIZZ' LESOBL(4)='GIXY' LESOBL(5)='GIXZ' LESOBL(6)='GIYZ' LESOBL(7)='PIDE' LESOBL(8)='QIDE' LESOBL(9)='TIDE' 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)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' LESOBL(4)='PIDE' LESOBL(5)='QIDE' LESOBL(6)='TIDE' 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)='FRSN' LESOBL(2)='FRN ' LESOBL(3)='PIDE' LESOBL(4)='QIDE' LESOBL(5)='TIDE' 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)='FEPS' LESOBL(2)='FGXY' LESOBL(3)='FGXZ' LESOBL(4)='FFCX' LESOBL(5)='FFCY' LESOBL(6)='FFCZ' LESOBL(7)='FPS7' LESOBL(8)='FPS8' 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)='EIXX' LESOBL(2)='GIXY' C*OF LESOBL(3)='GIXZ' C ====== C 19.2 - Tridimensionnel C ====== ELSE IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EIXX' LESOBL(2)='GIXY' LESOBL(3)='GIXZ' 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)='FRS1' LESOBL(2)='FRS2' LESOBL(3)='FRN ' C ===== C 20.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie C ===== ELSE IF (IFOU.LE.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='FRSN' LESOBL(2)='FRN ' ENDIF c c element coaxial COS2 (3D pour liaison acier-beton) c ELSEIF ( MFR.EQ.78) then NBROBL= 3 SEGINI NOMID LESOBL(1)='GINT' LESOBL(2)='GINN' LESOBL(3)='GINM' ENDIF C =========================== C Par DEFAUT : segment VIDE C =========================== 100 continue IF (NOMID.EQ.0) SEGINI,NOMID SEGACT,NOMID*NOMOD IPNOMC=NOMID RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales