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