avtrsf
C AVTRSF SOURCE OF166741 26/03/02 21:15:01 12482 C CE SOUS PROGRAMME FABRIQUE LE SEGMENT FER OU SONT MISES EN FORME C LES DONNEES DE TRANSF C C MELEME = OBJET A EXPLORER (MAILLAGE SIMPLE) C FER = DONNEES MISES EN FORME C IPT5 = OBJET DANS LA NUMEROTATION DE FER IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMELEME -INC SMCOORD SEGMENT /FER/(NFI(ITT),MAI(IPP),ITOUR) SEGMENT ICPR(nbpts) SEGMENT IDCP(ITE) SEGMENT KON(NBCON,NMAX) SEGMENT IDCT(ITT) c* SEGACT,MELEME <- Actif en E/S NBELEM=meleme.NUM(/2) NBNN =meleme.NUM(/1) IF (NBNN.EQ.0 .OR. NBELEM.EQ.0) THEN RETURN ENDIF NBSOUS=0 NBREF =0 C REMPLISSAGE DE ICPR SEGINI ICPR * DO I=1,nbpts * ICPR(I)=0 * ENDDO ITT=(2+NBNN)*NBELEM IPP=NBELEM SEGINI FER IF (meleme.ITYPEL.EQ.2) IPT5=0 IT = 0 ITE = 0 IF (IPT5.NE.0) THEN SEGINI IPT5 IPT5.ITYPEL = meleme.ITYPEL DO J=1,NBELEM IPOIT=meleme.NUM(2,J) IT=IT+1 ITE=ITE+1 fer.NFI(IT)=IPOIT ICPR(IPOIT)=ITE ENDDO ENDIF DO J=1,NBNN DO K=1,NBELEM IPOIT=meleme.NUM(J,K) IF (ICPR(IPOIT).EQ.0) THEN ITE=ITE+1 ICPR(IPOIT)=ITE ENDIF ENDDO ENDDO C TABLEAU INVERSE SEGINI IDCP ILO=nbpts DO I=1,ILO II=ILO+1-I IF (ICPR(II).NE.0) IDCP(ICPR(II))=II ENDDO C ITE EST LE NOMBRE DE POINTS A TRACER ICPR LE TABLEAU C ON VA MAINTENANT INITIALISER ET REMPLIR LE TABLEAU DES CONNECTIONS NBCON=3 NBCONR=NBCON-1 NMAX=(5*ITE)/NBCON SEGINI KON C MISE A ZERO DU TABLEAU KON c* DO I=1,NMAX c* DO J=1,NBCON c* KON(J,I)=0 c* ENDDO c* ENDDO C FABRICATION DU TABLEAU DES CONNECTIONS ICHAIN=ITE DO 20 I=1,NBELEM N1=ICPR(meleme.NUM(1,I)) N2=ICPR(meleme.NUM(NBNN,I)) IF (N1.EQ.N2) THEN GOTO 99 ENDIF ISENS=1 NI=N1 NJ=N2 21 CONTINUE 22 DO 23 K=1,NBCONR GOTO 99 ENDIF 23 CONTINUE GOTO 22 24 ICHAIN=ICHAIN+1 IF (ICHAIN.EQ.NMAX) THEN GOTO 99 ENDIF K=1 NI=ICHAIN IF (ISENS.LE.0) GOTO 20 NI=N2 NJ=N1 ISENS=-1 GOTO 21 20 CONTINUE C FABRICATION DES CONTOURS IP=0 fer.MAI(1)=IT KAUX=1 40 KAUXR=KAUX K=KAUX KPRESS=KAUXR 41 DO KL=1,NBCONR ITRA=KON(KL,K) IF (ITRA.GT.0) GOTO 44 ENDDO K=KON(NBCON,K) IF (K.NE.0) GOTO 41 43 KAUX=KAUX+1 IF (KAUX.EQ.ITE+1) GOTO 60 GOTO 40 44 IT=IT+1 fer.NFI(IT)=IDCP(KAUXR) GOTO 46 45 CONTINUE KL=1 46 DO L=KL,NBCONR M=ABS(KON(L,K)) IF (M.NE.0) GOTO 48 ENDDO K=KON(NBCON,K) IF (K.EQ.0) THEN GOTO 99 ENDIF GOTO 45 48 CONTINUE IT=IT+1 fer.NFI(IT)=IDCP(M) KON(L,K)=0 M1=M 49 CONTINUE DO L = 1,NBCONR K_z = KON(L,M1) IF (K_z.NE.0) THEN ENDIF ENDDO M1=KON(NBCON,M1) GOTO 49 51 CONTINUE KON(L,M1)=0 IF (M.EQ.KAUXR) GOTO 52 KPRESS=M K=KPRESS GOTO 45 52 IT=IT-1 IP=IP+1 fer.MAI(IP+1)=IT GOTO 40 60 CONTINUE fer.ITOUR=IP IF (IPT5.NE.0) THEN SEGINI IDCT DO I=1,IT IDCT(ICPR(fer.NFI(I)))=I ENDDO DO J=1,NBELEM DO I=1,NBNN IPT5.NUM(I,J)=IDCT(ICPR(NUM(I,J))) ENDDO ENDDO SEGSUP IDCT ENDIF 99 CONTINUE SEGSUP KON,ICPR,IDCP RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales