caramk
C CARAMK SOURCE OF166741 24/06/12 21:15:02 11881
C=======================================================================
C= C A R A M K =
C= ----------- =
C= =
C= Fonction : =
C= ---------- =
C= Recuperation des noms de caracteristiques geometriques obligatoi- =
C= res et facultatives suivant le type d'element (formulation) =
C= =
C= Parametres : (E)=Entree (S)=Sortie =
C= ------------ =
C= MFOR (E) Formulation consideree =
C= IFOR (E) Mode de calcul traite (=IFOUR dans CCOPTIO) =
C= MELT (E) Numero de l'element fini dans NOMTP (cf. CCHAMP) =
C= CMATE (E) Utilise dans le cas des POUTRES =
C= MOCARA (S) Segment NOMID des noms des caracteristiques =
C= NBROBL (S) Nombre de caracteristiques OBLIGATOIRES =
C= NBRFAC (S) Nombre de caracteristiques FACULTATIVES =
C= NBRTOT (S) Nombre total de caracteristiques (=NBROBL+NBRFAC) =
C= MOTYPE (S) Segment NOTYPE des types des caracteristiques =
C= NBTYPE (S) Nombre de types differents =
C= =
C= Remarque : Les segments MOCARA et MOTYPE sont ACTIFs lorsque l'on =
C= ---------- quitte le sousprogramme. =
C=======================================================================
& NBRFAC,NBRTOT,MOTYPE,NBTYPE)
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8 (A-H,O-Z)
-INC PPARAM
C==DEB= FORMULATION HHO == Include specifique ==========================
-INC CCHHOPA
C==FIN= FORMULATION HHO ================================================
C-> Definition de NOMID
-INC SMMODEL
SEGMENT NOTYPE
CHARACTER*16 TYPE(NBTYPE)
ENDSEGMENT
CHARACTER*(*) CMATE
C ====
C 0. - Valeurs par defaut
C ====
NBROBL = 0
NBRFAC = 0
NBTYPE = 0
NOMID = 0
NOTYPE = 0
C ====
C 1. - Formulation MASSIVE en CONTRAINTES PLANES : epaisseur
C ====
IF ((MFOR.EQ.1.OR.MFOR.EQ.31.OR.(MELT.GE.79.AND.MELT.LE.83))
& .AND.IFOR.EQ.-2) THEN
NBRFAC=1
SEGINI,NOMID
LESFAC(1)='DIM3'
C ====
C 2. - Formulation COQUE : epaisseur(s) et excentrement
C ====
ELSE IF (MFOR.EQ.3.OR.MFOR.EQ.5.OR.MFOR.EQ.9) THEN
NBROBL=1
IF (MFOR.EQ.3.AND.IFOR.EQ.-2) THEN
NBRFAC=2
ELSE
NBRFAC=1
ENDIF
SEGINI,NOMID
LESOBL(1)='EPAI'
LESFAC(1)='EXCE'
IF (MFOR.EQ.3.AND.IFOR.EQ.-2) LESFAC(2)='DIM3'
C ====
C 3. - Formulation BARRE : section
C ====
ELSE IF (MFOR.EQ.27) THEN
NBROBL=1
SEGINI,NOMID
LESOBL(1)='SECT'
C ====
C 4. - Formulation BARRE EXCENTREE : section, excentrements et
C orientation de l'element
C ====
ELSE IF (MFOR.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 '
C ====
C 5. - Element de LIAISON LIA2 : raideurs locales et orientation
C ====
ELSE IF (MFOR.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 '
C ====
C 6. - Formulation POUTRE
C ====
ELSE IF (MFOR.EQ.7) THEN
IF (CMATE.EQ.'SECTION') THEN
NBRFAC=3
SEGINI,NOMID
LESFAC(1)='VX '
LESFAC(2)='VY '
LESFAC(3)='VZ '
ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN
NBROBL=2
NBRFAC=1
SEGINI,NOMID
LESOBL(1)='SECT'
LESOBL(2)='INRZ'
LESFAC(1)='SECY'
ELSE
NBROBL=4
NBRFAC=5
SEGINI,NOMID
LESOBL(1)='TORS'
LESOBL(2)='INRY'
LESOBL(3)='INRZ'
LESOBL(4)='SECT'
LESFAC(1)='SECY'
LESFAC(2)='SECZ'
LESFAC(3)='VX '
LESFAC(4)='VY '
LESFAC(5)='VZ '
ENDIF
C ====
C 7. - Formulation TUYAU
C ====
ELSE IF (MFOR.EQ.13) THEN
NBROBL=2
NBRFAC=5
SEGINI,NOMID
LESOBL(1)='EPAI'
LESOBL(2)='RAYO'
LESFAC(1)='RACO'
LESFAC(2)='CISA'
LESFAC(3)='VX '
LESFAC(4)='VY '
LESFAC(5)='VZ '
C ====
C 8. - Formulation LINESPRING
C ====
ELSE IF (MFOR.EQ.15) THEN
NBROBL=5
SEGINI,NOMID
LESOBL(1)='EPAI'
LESOBL(2)='FISS'
LESOBL(3)='VX '
LESOBL(4)='VY '
LESOBL(5)='VZ '
C ====
C 9. - Formulation TUYAU FISSURE
C ====
ELSE IF (MFOR.EQ.17) THEN
NBROBL=9
SEGINI,NOMID
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'
C =====
C 10. - Elements HOMOGENEISEs
C =====
ELSE IF (MFOR.EQ.37) THEN
IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN
NBROBL=4
SEGINI,NOMID
LESOBL(1)='SCEL'
LESOBL(2)='SFLU'
LESOBL(3)='EPS '
LESOBL(4)='XINE'
ELSE
NBROBL=3
SEGINI,NOMID
LESOBL(1)='SCEL'
LESOBL(2)='SFLU'
LESOBL(3)='EPS '
ENDIF
C =====
C 11. - Elements de type JOINT GENE
C =====
ELSE IF (MFOR.EQ.55) THEN
NBRFAC=1
SEGINI,NOMID
LESFAC(1)='EPAI'
C==DEB= FORMULATION HHO ================================================
C =====
C 12. - Formulation HHO
C =====
ELSE IF (MFOR.EQ.HHO_MFR_ELEMENT) THEN
if (melt.ne.HHO_NUM_ELEMENT) then
write(6,*) 'CARAMK - Formulation HHO'
return
end if
nbrobl = 1
nbrfac = 1
SEGINI,nomid
nomid.LESOBL(1) = 'PIHO'
nomid.LESFAC(1) = 'DIM3'
MOCARA = nomid
C==FIN= FORMULATION HHO ================================================
C =====
C 13. - PAR DEFAUT : Segments VIDEs
C =====
ELSE
SEGINI,NOMID
ENDIF
IF (NOTYPE.EQ.0) THEN
NBTYPE = 1
SEGINI,NOTYPE
TYPE(1)='REAL*8'
ENDIF
NBRTOT=NBROBL+NBRFAC
MOCARA=NOMID
MOTYPE=NOTYPE
RETURN
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales