idcarb
C IDCARB SOURCE CB215821 24/04/08 21:15:02 11895
*--------------------------------------------------------------------*
* RECHERCHE DES NOMS DE CARACTERISTIQUES *
*--------------------------------------------------------------------*
* *
* ENTREES: *
* *
* MELE numero de l'element *
* IFOUR issu de CCOPTIO *
* *
* SORTIES: *
* *
* IPNOMC Pointeur sur les tables de noms de composantes *
* obligatoires et facultatives *
* NBROBL leur nombre ( =0 si pas trouve ) *
* NBRFAC leur nombre ( =0 si pas trouve ) *
* *
*--------------------------------------------------------------------*
*
IMPLICIT INTEGER(I-N)
SEGMENT NOMID
CHARACTER*8 LESOBL(NBROBL),LESFAC(NBRFAC)
ENDSEGMENT
*
NBROBL = 0
NBRFAC = 0
NOMID=0
IF (MFR.EQ.1.OR.MFR.EQ.45) GOTO 9999
IF (IFOUR.LT.-3.OR.IFOUR.GT.2) GOTO 9999
*
* element uy2 et ty3 pour advection
*
IF(MELE.EQ.269.or.mele.eq.270) then
NBROBL=1
SEGINI NOMID
LESOBL(1)= 'SECT'
ENDIF
*
* ELEMENTS CIFL MACRO ELEMENT CISAILLEMENT FLEXION
*
IF (MELE.EQ.258)THEN
IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2) THEN
NBROBL=2
SEGINI NOMID
LESOBL(1)= 'SECT'
LESOBL(2)= 'INRZ'
ENDIF
ENDIF
*
* COQUE MINCE OU CISAILLEMENT TRANSVERSE
*
IF (MFR.EQ.3.OR.MFR.EQ.9) THEN
NBROBL=1
NBRFAC=2
SEGINI NOMID
LESOBL(1)='EPAI'
LESFAC(1)='CALF'
LESFAC(2)='EXCE'
*
* COQUE EPAISSE
*
ELSE IF (MFR.EQ.5) THEN
NBROBL=1
NBRFAC=1
SEGINI NOMID
LESOBL(1)='EPAI'
LESFAC(1)='EXCE'
*
* POUTRES TRIDIM
*
ELSE IF (MFR.EQ.7) THEN
IF (IFOUR.EQ.2) THEN
NBRFAC=9
NBROBL=4
SEGINI NOMID
LESOBL(1)= 'TORS'
LESOBL(2)= 'INRY'
LESOBL(3)= 'INRZ'
LESOBL(4)= 'SECT'
LESFAC(1)= 'SECY'
LESFAC(2)= 'SECZ'
LESFAC(3)= 'DX '
LESFAC(4)= 'DY '
LESFAC(5)= 'DZ '
LESFAC(6)= 'OMEG'
LESFAC(7)= 'VX'
LESFAC(8)= 'VY'
LESFAC(9)= 'VZ'
*
* POUTRES 2D
ELSEIF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
NBRFAC=1
NBROBL=2
SEGINI NOMID
LESOBL(1)= 'SECT'
LESOBL(2)='INRZ'
LESFAC(1)= 'SECY'
*
ENDIF
*
* LIA2 : ELEMENT 3D DE LIAISON A 2 NOEUDS
*
ELSE IF (MFR.EQ.51) THEN
NBROBL=9
SEGINI NOMID
LESOBL(1)='RLUX'
LESOBL(2)='RLUY'
LESOBL(3)='RLUZ'
LESOBL(4)='RLRX'
LESOBL(5)='RLRY'
LESOBL(6)='RLRZ'
LESOBL(7)='VX '
LESOBL(8)='VY '
LESOBL(9)='VZ '
*
* BAEX : BARRE EXCENTRE
*
ELSE IF (MFR.EQ.49) THEN
NBROBL=6
SEGINI NOMID
LESOBL(1)='SECT'
LESOBL(2)='EXCZ'
LESOBL(3)='EXCY'
LESOBL(4)='VX '
LESOBL(5)='VY '
LESOBL(6)='VZ '
*
* TUYAU ACOUSTIQUE PURE
*
ELSE IF (MFR.EQ.41) THEN
NBROBL=1
NBRFAC=1
SEGINI NOMID
LESOBL(1)='RAYO'
LESFAC(1)='RACO'
*
* TUYAU TRIDIM
*
ELSE IF (MFR.EQ.13) THEN
IF (IFOUR.EQ.2) THEN
NBROBL=2
NBRFAC=12
SEGINI NOMID
LESOBL(1)='EPAI'
LESOBL(2)='RAYO'
LESFAC(1)='RACO'
LESFAC(2)='PRES'
LESFAC(3)='CISA'
LESFAC(4)='CFFX'
LESFAC(5)='CFMX'
LESFAC(6)='CFMY'
LESFAC(7)='CFMZ'
LESFAC(8)='CFPR'
LESFAC(9)= 'OMEG'
LESFAC(10)='VX'
LESFAC(11)='VY'
LESFAC(12)='VZ'
ENDIF
*
* TUYO
*
ELSE IF (MFR.EQ.39) THEN
IF (IFOUR.EQ.2) THEN
NBROBL=2
NBRFAC=5
SEGINI NOMID
LESOBL(1)='EPAI'
LESOBL(2)='RAYO'
LESFAC(1)='RACO'
LESFAC(2)='PRES'
LESFAC(3)='VX'
LESFAC(4)='VY'
LESFAC(5)='VZ'
ENDIF
*
* LINESPRING
*
ELSE IF (MFR.EQ.15) THEN
IF (IFOUR.EQ.2) THEN
NBROBL=5
SEGINI NOMID
LESOBL(1)='EPAI'
LESOBL(2)='FISS'
LESOBL(3)='VX '
LESOBL(4)='VY '
LESOBL(5)='VZ '
ENDIF
*
* TUYAU FISSURE
*
ELSE IF (MFR.EQ.17) THEN
IF (IFOUR.EQ.2) THEN
NBROBL=9
SEGINI NOMID
c LESOBL(1)='RAYO'
c LESOBL(2)='EPAI'
c LESOBL(3)='ANGL'
c LESOBL(4)='VX '
c LESOBL(5)='VY '
c LESOBL(6)='VZ '
c LESOBL(7)='VXF '
c LESOBL(8)='VYF '
c LESOBL(9)='VZF '
LESOBL(1)='RAYO'
LESOBL(2)='EPAI'
LESOBL(3)='VX '
LESOBL(4)='VY '
LESOBL(5)='VZ '
LESOBL(6)='VXF '
LESOBL(7)='VYF '
LESOBL(8)='VZF '
LESOBL(9)='ANGL'
ENDIF
*
* BARRE or COS2
*
ELSE IF (MFR.EQ.27.OR.MFR.EQ.78) THEN
NBROBL=1
SEGINI NOMID
LESOBL(1)='SECT'
*
* ELEMENT HOMOGENE
*
ELSE IF (MFR.EQ.37) THEN
IF (IFOUR.EQ.1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.2) THEN
NBROBL=5
SEGINI NOMID
LESOBL(1)='SCEL'
LESOBL(2)='SFLU'
LESOBL(3)='EPS '
LESOBL(4)='SECT'
LESOBL(5)='INRZ'
ELSE
NBROBL=3
NBRFAC=2
SEGINI NOMID
LESOBL(1)='SCEL'
LESOBL(2)='SFLU'
LESOBL(3)='EPS '
LESFAC(1)='NOF1'
LESFAC(2)='NOF2'
ENDIF
*
* RACCORD LIQUIDE TUYAU
*
ELSE IF (MFR.EQ.43) THEN
NBROBL=1
NBRFAC=5
SEGINI NOMID
LESOBL(1)='RAYO'
LESFAC(1)='RACO'
LESFAC(2)='VECT'
LESFAC(3)='VEC1'
LESFAC(4)='VEC2'
LESFAC(5)='VEC3'
*
* ELEMENTS DE SECTION
*
ELSE IF (MFR.EQ.47) THEN
IF (IFOUR.EQ.2) THEN
NBROBL=2
SEGINI NOMID
LESOBL(1)='ALPY'
LESOBL(2)='ALPZ'
ELSE
NBROBL=1
NBRFAC=0
SEGINI NOMID
LESOBL(1)='ALPY'
ENDIF
C
* caracteristique supplementaire pour le SEGS
IF(MELE.EQ.166)THEN
NBROBL=NBROBL+1
SEGADJ,NOMID
LESOBL(NBROBL)='LARG'
ENDIF
* caracteristique supplementaire pour le POJS
IF(MELE.EQ.167)THEN
NBROBL=NBROBL+1
SEGADJ,NOMID
LESOBL(NBROBL)='SECT'
ENDIF
C
*
* JOINTS GENERALISE
*
ELSE IF (MFR.EQ.55) THEN
CcPPj NBROBL=1
CcPPj NBRFAC=0
CcPPj SEGINI NOMID
CcPPj LESOBL(1)='EPAI'
NBROBL=0
NBRFAC=1
SEGINI NOMID
LESFAC(1)='EPAI'
*
ENDIF
*
9999 CONTINUE
IF (NOMID.EQ.0) SEGINI NOMID
* ajout de la densite (rendement) vectorielle du constituant kich
ifac = nbrfac
NBRFAC= nbrfac + 10
segadj nomid
lesfac(ifac + 1) ='REND'
lesfac(ifac + 2) ='W1X '
lesfac(ifac + 3) ='W1Y '
lesfac(ifac + 4) ='W1Z '
lesfac(ifac + 5) ='W2X '
lesfac(ifac + 6) ='W2Y '
lesfac(ifac + 7) ='W2Z '
lesfac(ifac + 8) ='REN1'
lesfac(ifac + 9) ='REN2'
lesfac(ifac + 10)='REN3'
IPNOMC=NOMID
RETURN
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales