manuc5
C MANUC5 SOURCE CB215821 24/04/12 21:16:37 11897 *--------------------------------------------------------------------* * * * CREATION D'UN NOUVEAU CHAMELEM PAR MANU * * * *--------------------------------------------------------------------* SUBROUTINE MANUC5 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMLMOTS -INC SMLREEL -INC SMLENTI -INC SMELEME -INC SMMODEL * CHARACTER*(LOCOMP) MOCOMP,MOTYPE(3) CHARACTER*(4) MOT4 CHARACTER*8 MOCHOY CHARACTER*8 CAR CHARACTER*16 JECONS CHARACTER*(LOCHAI) JEROME,CHAIN1 CHARACTER*8 LISMOT(5),REPA(1) DATA MOTYPE/'TYPE','CONS','EVOL'/ DATA REPA/'REPA'/ DATA LISMOT/'NOEUD','GRAVITE','RIGIDITE','MASSE','STRESSES'/ * * Initialisation des segments * IPMODL=0 IPMAIL=0 IPLAC =0 * * LECTURE D'UN MODELE * IF (IERR.NE.0) RETURN IF (IRET.EQ.0) THEN * * SINON D'UN MAILLAGE * MOTERR(1:8)='MAILLAGE' IF (IERR.NE.0) RETURN * * SINON lecture du mot EVOL * IF (IRET.EQ.1) THEN ELSE IF (IERR.NE.0) RETURN IF (IPLAC.NE.1) THEN RETURN ENDIF IF (IPLAC.EQ.1) THEN CALL MANUC8 RETURN ENDIF ENDIF ENDIF * JG=0 JGN=LOCOMP JGM=0 CALL oooprl(1) SEGINI,MLMOTS,MLMOT1,MLMOT2,MLMOT3,MLREE1,MLENT2 CALL oooprl(0) L1 = 0 LL1 = 0 IPLAC = 0 * itart=0 IF (IERR.NE.0) GOTO 99 * 10 CONTINUE * * ON DESIRE LIRE UNE COMPOSANTE * IRCHOI = 0 IF (IERR.NE.0) GOTO 99 IF (IRCHOI.EQ.0) GO TO 20 MOCOMP=CHAIN1 MOT4 =CHAIN1 * * SI ON A LU LE MOT TYPE * IF (MOT4.EQ.MOTYPE(1)) THEN GOTO 10 ENDIF * * SI ON A LU LE MOT CONS * IF(IPMAIL.NE.0)THEN IF(MOT4.EQ.MOTYPE(2)) THEN GO TO 10 ENDIF ENDIF IF(IPMODL.NE.0.AND.IPLAC.EQ.0)THEN MOCHOY=CHAIN1 IF (IPLAC.NE.0)GOTO 10 ENDIF * * SINON ON TESTE LE NOMBRE DE CARACTERES LUS * IF(IRCHOI.GT.LOCOMP) THEN GOTO 99 ENDIF * On recupere la valeur de la composante (REEL*8 ou POINTEURXXX) IF (IRET2.EQ.1) THEN SEGADJ MLREE1 ELSE IF (IERR.NE.0) GO TO 99 IF (IERR.NE.0) GO TO 99 * * ON A LU UN OBJET DE TYPE AUTRE QU'UN FLOTTANT * JG = MLENT2.LECT(/1)+1 SEGADJ MLENT2 MLENT2.LECT(JG)=IPTRUC ENDIF GOTO 10 * 20 CONTINUE IPOI1 = 0 IF ( L1.EQ.0) THEN JEROME=' ' L1 = 1 ENDIF * * RECUPERATION DES ZONES ELEMENTAIRES DU MAILLAGE * IF(IPMAIL.NE.0)THEN MELEME=IPMAIL JG=LISOUS(/1) IF (JG.EQ.0) THEN JG=1 JGN=16 JGM=JG CALL oooprl(1) SEGINI MLENT1,MLMOT4 CALL oooprl(0) MLENT1.LECT(1)=IPMAIL ELSE JGN=16 JGM=JG CALL oooprl(1) SEGINI MLENT1,MLMOT4 CALL oooprl(0) DO 22 I =1,JG MLENT1.LECT(I)=LISOUS(I) 22 CONTINUE ENDIF * IF ( LL1.EQ.0) THEN JECONS=' ' ENDIF * * ON STOCKE LE NOM DU COMPOSANT DO 23 I=1,JG 23 CONTINUE * & MLENT2,JEROME,L1,MLMOT4,IPOI1) * * Suppression des segments * SEGSUP,MLENT1 SEGSUP,MLMOT4 ELSE IF(IPLAC.EQ.0)IPLAC=1 MMODEL=IPMODL N1 = KMODEL(/1) & MLENT2,JEROME,L1,IPLAC,IPOI1,itart) ENDIF IF (IERR.NE.0) GOTO 99 * Ecriture du CHAMP resultat : * * Suppression des segments * 99 CONTINUE SEGSUP,MLMOTS,MLMOT1,MLMOT2,MLMOT3,MLREE1,MLENT2 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales