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