idcont
C IDCONT SOURCE OF166741 24/10/07 21:15:24 12016 C======================================================================= C= RECHERCHE DES NOMS DE COMPOSANTES DE CONTRAINTES = 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 POINTEUR nomid1.nomid IPNOMC = 0 NBROBL = 0 NBRFAC = 0 NOMID = 0 IMODEL = IPMODL MELE = imodel.NEFMOD IF (imodel.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 C Recuperation du NOMID des composantes primales NOMID1=IMODEL.LNOMID(1) nbrobl=NOMID1.LESOBL(/2) nbrfac=NOMID1.LESFAC(/2) segini,NOMID do io = 1,nbrobl LESOBL(io)='S'//NOMID1.LESOBL(io)(1:3) enddo do io = 1,nbrfac LESFAC(io)='S'//NOMID1.LESFAC(io)(1:3) enddo IPNOMC=NOMID RETURN endif ENDDO ENDIF IF (FORMOD(1).EQ.'ELECTROSTATIQUE') MFR = 71 IF (FORMOD(1).EQ.'DIFFUSION' ) MFR = 73 IF (FORMOD(1).EQ.'CHARGEMENT' ) MFR = 81 NFOR = imodel.FORMOD(/2) mfr2 = 0 IF (ITHHY.eq.1) mfr2=65 IF (ITHER.eq.1) mfr2=29 IF (IMAGN.eq.1) mfr2=69 IF (IMETA.eq.1) 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)='SMN1' LESOBL(2)='MOM1' LESOBL(3)='SMSN' LESOBL(4)='SMN2' LESOBL(5)='MOM2' ENDIF c c element coaxial COS2 (3D pour liaison acier-beton) c ELSE IF ( MFR.EQ.78) then NBROBL=3 SEGINI, NOMID LESOBL(1)='STRT' LESOBL(2)='STRN' LESOBL(3)='STRM' 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)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' 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)='SMSN' LESOBL(2)='SMN ' 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)='SMS1' LESOBL(2)='SMS2' 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.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='SMSN' LESOBL(2)='SMN ' LESOBL(3)='SETT' LESOBL(4)='SEZZ' C ===== C 3.2 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' LESOBL(4)='SETT' LESOBL(5)='SEUU' LESOBL(6)='SETU' ENDIF C 4 - Elements MASSIFS et xfem, Navier_Stokes, HHO C ====================== ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.or.MFR.eq.63.or.MFR.eq.52.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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' C ===== C 4.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' C ===== C 4.3 - Fourier C ===== ELSE IF (IFOU.EQ.1) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='SMRT' LESOBL(6)='SMZT' C ===== C 4.4 - Tridimensionnel C ===== ELSE IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='SMXZ' LESOBL(6)='SMYZ' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' ELSE IF (IFOU.EQ.15) THEN LESOBL(1)='SMRR' C Voir TC pour LESOBL(2)='SMFF' ou 'SMPP' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' 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)='N11 ' LESOBL(2)='N22 ' LESOBL(3)='N12 ' LESOBL(4)='M11 ' LESOBL(5)='M22 ' LESOBL(6)='M12 ' C ===== C 5.2 - Axisymetrie C ===== ELSE IF (IFOU.EQ.0) THEN NBROBL=4 SEGINI,NOMID LESOBL(1)='N11 ' LESOBL(2)='N22 ' LESOBL(3)='M11 ' LESOBL(4)='M22 ' 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)='N11 ' LESOBL(2)='NZZ ' LESOBL(3)='M11 ' LESOBL(4)='MZZ ' 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)='SMSS' LESOBL(2)='SMTT' LESOBL(3)='SMNN' LESOBL(4)='SMST' 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)='SMSS' LESOBL(2)='SMTT' LESOBL(3)='SMST' LESOBL(4)='SMSN' LESOBL(5)='SMTN' C 7 - LIA2 et JOI1: Element 3D de liaison a 2 noeuds C ============================================= ELSE IF (MFR.EQ.51.OR.MFR.EQ.75) THEN IF (IFOU.EQ.2) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='EFFX' LESOBL(2)='EFFY' LESOBL(3)='EFFZ' LESOBL(4)='MOMX' LESOBL(5)='MOMY' LESOBL(6)='MOMZ' ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='EFFX' LESOBL(2)='EFFY' LESOBL(3)='MOMZ' ENDIF C 8 - BAEX : BARRE EXCENTREE C ============================ ELSE IF (MFR.EQ.49) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='EFFX' 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)='EFFX' LESOBL(2)='EFFY' LESOBL(3)='EFFZ' LESOBL(4)='MOMX' LESOBL(5)='MOMY' LESOBL(6)='MOMZ' 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)='EFFX' LESOBL(2)='EFFY' LESOBL(3)='MOMZ' 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)='N11 ' LESOBL(2)='N22 ' LESOBL(3)='N12 ' LESOBL(4)='M11 ' LESOBL(5)='M22 ' LESOBL(6)='M12 ' LESOBL(7)='V1 ' LESOBL(8)='V2 ' 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)='NZZ ' LESOBL(2)='NXZ ' LESOBL(3)='NYZ ' LESOBL(4)='MXX ' LESOBL(5)='MZZ ' LESOBL(6)='KI ' ENDIF C 12 - Elements de MEMBRANE C =========================== ELSE IF (MFR.EQ.25) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='SMSS' LESOBL(2)='SMTT' LESOBL(3)='SMST' C 13 - Formulation UNIAXIALE C ============================= ELSE IF (MFR.EQ.27) THEN NBROBL=1 MFR2 = infele(13) if (mfr2.eq.26) then NBRFAC = 1 else if (mfr2.eq.28) then NBROBL=2 endif SEGINI,NOMID LESOBL(1)='EFFX' if (mfr2.eq.26) then LESFAC(1) = 'FMOD' else if (mfr2.eq.28) then LESOBL(2) = 'FMOD' endif 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)='FLUX' LESOBL(2)='FLUY' LESOBL(3)='FLUZ' 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)='FLUX' LESOBL(2)='FLUY' C ====== C 14.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='FLUX' LESOBL(2)='FLUY' 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)='FLUX' C*OF ELSE C*OF LESOBL(1)='FLUR' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='MSR0' C ======== C 15.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=5 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='MSR0' C ======== C 15.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=7 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='SMRT' LESOBL(6)='SMZT' LESOBL(7)='MSR0' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='SMXZ' LESOBL(6)='SMYZ' LESOBL(7)='MSR0' 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)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' LESOBL(4)='MSR0' 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)='SMSN' LESOBL(2)='SMN ' LESOBL(3)='MSR0' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='MSR0' LESOBL(6)='MSRQ' C ======== C 16.A.2 - Axisymetrie C ======== ELSE IF (IFOU.EQ.0) THEN NBROBL=6 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='MSR0' LESOBL(6)='MSRQ' C ======== C 16.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=8 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='SMRT' LESOBL(6)='SMZT' LESOBL(7)='MSR0' LESOBL(8)='MSRQ' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='SMXZ' LESOBL(6)='SMYZ' LESOBL(7)='MSR0' LESOBL(8)='MSRQ' 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)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' LESOBL(4)='MSR0' LESOBL(5)='MSRQ' 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)='SMSN' LESOBL(2)='SMN ' LESOBL(3)='MSR0' LESOBL(4)='MSRQ' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='MSR0' LESOBL(6)='MSRQ' LESOBL(7)='TREN' ELSE IF (IFOU.EQ.0) THEN C ======== C 17.A.2 - Axisymetrie C ======== NBROBL=7 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='MSR0' LESOBL(6)='MSRQ' LESOBL(7)='TREN' C ======== C 17.A.3 - Fourier C ======== ELSE IF (IFOU.EQ.1) THEN NBROBL=9 SEGINI,NOMID LESOBL(1)='SMRR' LESOBL(2)='SMZZ' LESOBL(3)='SMTT' LESOBL(4)='SMRZ' LESOBL(5)='SMRT' LESOBL(6)='SMZT' LESOBL(7)='MSR0' LESOBL(8)='MSRQ' LESOBL(9)='TREN' 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)='SMXX' LESOBL(2)='SMYY' LESOBL(3)='SMZZ' LESOBL(4)='SMXY' LESOBL(5)='SMXZ' LESOBL(6)='SMYZ' LESOBL(7)='MSR0' LESOBL(8)='MSRQ' LESOBL(9)='TREN' 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)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' LESOBL(4)='MSR0' LESOBL(5)='MSRQ' LESOBL(6)='TREN' 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)='SMSN' LESOBL(2)='SMN ' LESOBL(3)='MSR0' LESOBL(4)='MSRQ' LESOBL(5)='TREN' 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)='EFFX' LESOBL(2)='EFFY' LESOBL(3)='EFFZ' LESOBL(4)='MOMX' LESOBL(5)='MOMY' LESOBL(6)='MOMZ' LESOBL(7)='KI ' LESOBL(8)='AIRE' 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)='SMXX' LESOBL(2)='SMXY' C ====== C 19.2 - Tridimensionnel C ====== ELSE IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='SMXX' LESOBL(2)='SMXY' LESOBL(3)='SMXZ' ENDIF C 20 - Elements de zones cohesives C ================================== ELSE IF (MFR.EQ.77) THEN C ===== C 20.1 - Tridimensionnel C ===== IF (IFOU.EQ.2) THEN NBROBL=3 SEGINI,NOMID LESOBL(1)='SMS1' LESOBL(2)='SMS2' LESOBL(3)='SMN ' C ===== C 20.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)='SMSN' LESOBL(2)='SMN ' 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)='DELX ' LESOBL(2)='DELY ' LESOBL(3)='DELZ ' 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)='DELX ' LESOBL(2)='DELY ' C ====== C 21.3 - Axisymetrie et Fourier C ====== ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN NBROBL=2 SEGINI,NOMID LESOBL(1)='DELR ' LESOBL(2)='DELZ ' 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)='DELX ' ELSE LESOBL(1)='DELR ' ENDIF ENDIF C 22 - Formulation DIFFUSION (Nomid VIDE) C ======================================== ELSE IF (MFR.EQ.73) THEN C*DEB = Merci de conserver ces lignes ! (Developpements futurs) C*X C ====== C*X C 22.0 - BARRE C*X C ====== C*X IF(MELE.EQ.46) THEN C*X NBROBL=1 C*X SEGINI,NOMID C*X LESOBL(1)='FS ' C*X ELSE C*X C ====== C*X C 22.1 - Tridimensionnel C*X C ====== C*X IF (IFOU.EQ.2) THEN C*X NBROBL=3 C*X SEGINI,NOMID C*X LESOBL(1)='FX ' C*X LESOBL(2)='FY ' C*X LESOBL(3)='FZ ' C*X C ====== C*X C 22.2 - Bidimensionnel PLAN (CP/DP/DPGE) C*X C ====== C*X ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN C*X NBROBL=2 C*X SEGINI,NOMID C*X LESOBL(1)='FX ' C*X LESOBL(2)='FY ' C*X C ====== C*X C 22.3 - Axisymetrie et Fourier C*X C ====== C*X ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN C*X NBROBL=2 C*X SEGINI,NOMID C*X LESOBL(1)='FR ' C*X LESOBL(2)='FZ ' C*X C ====== C*X C 22.4 - Unidimensionnel (1D) C*X C ====== C*X ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN C*X NBROBL=1 C*X SEGINI,NOMID C*X IF (IFOU.LE.11) THEN C*X LESOBL(1)='FX ' C*X ELSE C*X LESOBL(1)='FR ' C*X ENDIF C*X ENDIF C*X ENDIF C*X C*X C* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1) C*X DO i = 1, NBROBL C*X LESOBL(i)(3:8) = imodel.TYMODE(1)(1:6) C*X ENDDO C*FIN = Merci de conserver ces lignes ! (Developpements futurs) C 23 - Formulation CHARGEMENT PRESSION C ===================================== ELSE IF (MFR.EQ.81) THEN NBROBL=1 SEGINI,NOMID LESOBL(1)='PRES' ENDIF C Par DEFAUT : (Nomid VIDE) C ========================== 100 CONTINUE IF (NOMID.EQ.0) THEN SEGINI,NOMID ELSE if (ifomod.eq.6) then nbrfa0 = nbrfac NBRFAC = NBROBL + nbrfa0 if (mfr2.eq.28.or.mfr2.eq.26) NBRFAC = nbrfa0 + 1 segadj nomid if (mfr2.eq.28.or.mfr2.eq.26) then lesfac(nbrfa0 +1) = 'IFFX' else do imo = 1,nbrobl lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(2:4) lesfac(nbrfa0 + imo)(1:1) = 'I' enddo endif endif ENDIF SEGACT,NOMID*NOMOD IPNOMC=NOMID RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales