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