C STRUCT SOURCE FANDEUR 10/12/14 21:19:53 6812 SUBROUTINE STRUCT C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C C * LECTURE D UNE STRUCTURE ELEMENTAIRE C C SYNTAXE : S = STRU K M ; C C * FABRICATION DE N SOUS STRUCTURES IDENTIQUES C C SYNTAXE : S = STRU K M NFOIS; C C C C S : OBJET DE TYPE STRUCTURE C C K : OBJET DE TYPE RIGIDITE .MTYMAT=RIGIDITE C C M : OBJET DE TYPE RIGIDITE .MTYMAT=MASSE C C NFOIS : ENTIER .IL Y A NFOIS STRUCTURES IDENTIQUES C C OU BIEN: C C S=STRU CHMATE CHCARA (NFOIS); C C CHMATE:OBJET DE TYPE CHMELEME DE SOUS TYPE MATE C C CHCARA:OBJET DE TYPE CHMELEME DE SOUS TYPE CARA C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC SMRIGID -INC SMSTRUC -INC PPARAM -INC CCOPTIO C IRIGI=0 IMASS=0 1 CALL LIROBJ('RIGIDITE',IRET,0,IRETOU) IF(IRETOU.EQ.0) GO TO 105 MRIGID=IRET SEGACT MRIGID IF(MTYMAT.NE.'RIGIDITE') GO TO 100 IF(IRIGI.EQ.0) GO TO 101 MOTERR(1:8)='RIGIDITE' MOTERR(9:16)='RIGIDITE' CALL ERREUR(130) C LA RIGIDITE A DEJA ETE DONNEE SEGDES MRIGID GO TO 5000 101 CONTINUE IRIGI=MRIGID SEGDES MRIGID IF(IMASS.EQ.0) GO TO 1 GO TO 105 100 IF(MTYMAT.NE.'MASSE') GO TO 104 IF(IMASS.EQ.0) GO TO 103 MOTERR(1:8)='RIGIDITE' MOTERR(9:16)='MASSE' CALL ERREUR(130) C LA MASSE A DEJA ETE DONNEE SEGDES MRIGID GO TO 5000 103 CONTINUE IMASS=MRIGID SEGDES MRIGID IF(IRIGI.EQ.0) GO TO 1 GO TO 105 104 CONTINUE MOTERR(1:8)='RIGIDITE' MOTERR(9:16)=MTYMAT CALL ERREUR(131) C ON N ATTEND PAS CE SOUS TYPE DE RIGIDITE SEGDES MRIGID GO TO 5000 C 105 CONTINUE IF(IRIGI.NE.0) GO TO 106 106 CONTINUE CALL LIRENT(N,0,IRETOU) IF(IRETOU.EQ.0) N=1 SEGINI MSTRUC NS=2 DO 200 I=1,N SEGINI MSOSTU ISRAID=IRIGI ISMASS=IMASS ITYSOU=0 SEGDES MSOSTU LISTRU(I)=MSOSTU 200 CONTINUE SEGDES MSTRUC CALL ECROBJ('STRUCTUR',MSTRUC) 5000 CONTINUE RETURN END