tycomp
C TYCOMP SOURCE CB215821 24/04/12 21:17:23 11897 C----------------------------------------------------------------------C C C Ce ss-programme identifie le type d'un MCHAML C associe au nom de sa composante MOT1 C dans le SEGMENT NOMID du MMODEL IPMOD1 C (voir notice REDU) C C Entrees : C IPMOD1 : pointeur su SEGMENT NOMID, suppose actif en entree C MOT1 : nom de composante a identifier C C Sorties : C TYPE : type du MCHAML identifie C LTYP : longueur de la chaine de caractere "TYPE" C C----------------------------------------------------------------------C IMPLICIT REAL*8(A-H,O-Z) IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC SMMODEL PARAMETER (NMOT=15,NNOMID=20,NPAR=4) CHARACTER*(50) TYPE CHARACTER*(25) LISTIT(NMOT) INTEGER LONTIT(NMOT) CHARACTER*(*) MOT1 CHARACTER*(LOCOMP) MOCP,MOT CHARACTER*(4) NOMPAR(NPAR) DATA LISTIT / 'DEPLACEMENTS', 'FORCES' , 'TEMPERATURES', & 'GRADIENT' , 'DEFORMATIONS', & 'CONTRAINTES' , 'CONTRAINTES PRINCIPALES', & 'DEFORMATIONS INELASTIQUES', 'VARIABLES INTERNES', & 'CARACTERISTIQUES','GRADIENT DE FLEXION',' ', & 'MATRICE DE HOOKE','SCALAIRE', & 'MATRICE DE RAYONNEMENT'/ DATA LONTIT / 12,6 ,12, & 8 ,12, & 11,23, & 25,18, & 16,19,1, & 16,8, & 22 / C On identifie le numero dans la liste de NOMID au type dans LISTIT * 'DEPLACEM', 'FORCES ', 'GRADIENT', 'CONTRAIN', * 'DEFORMAT', 'MATERIAU', 'CARACTER', 'TEMPERAT', & 5 , 10 , 10 , 3 , * 'PRINCIPA', 'VARINTER', 'GRAFLEXI', 'VINMETAL', & 7 , 9 , 11 , 12 , * 'DEFINELA', 'PARAMEXT', 'VIDE ', 'SCAL ', & 8 , 12 , 12 , 14 , * 'TEMP ', 'MAHO ', 'MIDL ', 'SURF '/ & 14 , 13 , 15 , 15 / C Verifications elementaires C Pas de soucis pour renvoyer valeurs pas defaut IF (IPMOD1.EQ.0) RETURN LM1 = 0 DO II = 8,1,-1 IF(MOT1(II:II) .NE. ' ')THEN LM1=II GOTO 100 ENDIF ENDDO RETURN 100 CONTINUE * write(6,*) 'MOT1 dans tycomp',mot1 IMODEL = IPMOD1 NNO = IMODEL.LNOMID(/1) IF (NNO.EQ.0) RETURN C Boucle sur les NOMID MOCP = MOT1 TYPE = ' ' LTYP = 0 DO INO=1,NNO NOMID = IMODEL.LNOMID(INO) IF (NOMID.NE.0) THEN C Composantes OBLIGATOIRES nobl=nomid.lesobl(/2) DO iobl=1,nobl mot=lesobl(iobl) IF (mot.EQ.mocp) THEN type =LISTIT(indno) ltyp =LONTIT(indno) RETURN ENDIF ENDDO C Composantes FACULTATIVES nfac=nomid.lesfac(/2) DO ifac=1,nfac mot=lesfac(ifac) IF (mot.EQ.mocp) THEN type =LISTIT(indno) ltyp =LONTIT(indno) RETURN ENDIF ENDDO ENDIF ENDDO C Cas particulier (a ajouter dans inomid.eso et augmenter la taille du SMMODEL.INC...) IF(MOCP.EQ.'MIDL')THEN ino =19 type =LISTIT(indno) ltyp =LONTIT(indno) ELSEIF(MOCP.EQ.'SURF')THEN ino =20 type =LISTIT(indno) ltyp =LONTIT(indno) ELSEIF(MOCP.EQ.'MAHO')THEN ino =18 type =LISTIT(indno) ltyp =LONTIT(indno) ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales